JAVAを最近になって始めた初心者です。
コンパイルは問題なく終了するのですが、実行時に
Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld(Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
と表示されます。実際には at java.~ 以降にも複数行文字が表示されています。(全部で12行です)
ソースファイル及びクラスファイルの格納先は
c:\java\HelloWorld.java
c:\java\HelloWorld.class
ソースは以下の様に記述しました。
class HelloWorld
{
public static void main(String args[])
{
System.out.println("HelloWorld");
}
}
1)過去ログから“環境設定のクラスパス”及びコマンドプロンプトで
“java -cp. HelloWorld”を確認しました。そうすると以下のようなメッセージが表示されます。
Unrecognized option: -cp.
Could not create the Java virtual machine.
2)システム環境変数の“PATH”は以下のように記述しております。
;C:\Program Files\Java\jdk1.5.0_07\bin
3)システム環境変数の“CLASSPATH”は指定しておりません。というより、指定しても現象は変わりませんでした。
ご教授願えないでしょうか。宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
エラーメッセージの中に出ている "Unsupported major.minor version 49.0" というのは JDK と JRE のバージョンが違う時に出るようです(参考URLのページ参照)。
ということで、JDK をインストールしているなら JRE はアンインストールした方が混乱がなくていいと思いますよ(そのままでもPATHなどの環境変数を適切に設定すれば分けて実行可能だとは思いますが面倒です)。
よくわからなければ現在インストールされている JDK と JRE を全てアンインストールしてから JDK だけをインストールして下さい。
参考URL:http://forums.belution.com/ja/java/000/002/75.sh …
ご返答ありがとうございます。
JDKとJREのバージョンが違う可能性があるのですね・・・。
SUNのHPからJDK(jdk1.5.0_07)をダウンロードしてそのままインストールしたのですが・・・。
ご指摘のとおり、JDKとJREは何度かアンインストールして確認は致しましたが、JREのみアンインストールはしておりませんので、これから確認してみます。
No.7
- 回答日時:
#6です。
あなたの質問文からの抜粋です。
>Unrecognized option: -cp.
「-cp.」 となっていますよね。これはあなたが「java -cp. HelloWorld」とコマンドしたからです。#6にも書きましたが、半角ピリオド(ドット)の前後には”必ず”半角スペースを入れてください。
正式には、「java -cp . HelloWorld」
あなたの打ったコマンドは「java -cp. HelloWorld」
両者の違いがわかりますか?私が上記で述べたとおりです。
「java -cp . HelloWorld」
「java -cp. HelloWorld」
一文字違いますよね?
最初は慣れるまで大変ですが、基本事項さえ”しっかり”守れば、”間違いなく”できます。では、がんばってください。
ご回答ありがとうございます。また、お礼に時間がかかってしまい誠に申し訳ございません。
色々調査してみて今回うまくいかなかった原因が判明しました。
(原因)
今回、初めてJavaの学習を行うにあたって、SUN社のHPからJ2SE1.4.2(j2sdk-1_4_2_12-windows-i586-p.exe)をダウンロード→インストールしなければならないのに、これを行わずにJ2SE5.0(jdk-1_5_0_07-windows-i586-p.exe)をダウンロード→インストールした為に今回のようなエラーメッセージが表示されたことが判明しました。
原因に記載した様にJ2SE1.4.2をインストールする事で、正常に動作するのを確認いたしました。
これまで、ご回答ご指摘いただいた皆様ありがとうございました。
これから先色々とこのサイトで質問をすることがあるかと思いますが、今後も宜しくお願い致します。
No.6
- 回答日時:
あなたのこの質問の上の質問に答えていて、同様のエラーがでたが、その方は解決したそうです。
ただ単に「java -cp . hogehoge.java」とするところを「java -cp. hogehoge.java」としてしまったみたいです。
要するに半角ピリオド(ドット)の”前後”と、「java」と「-cp」の間には半角スペースが”絶対”必要です。
JDKとJavaヴァーチャルマシンのバージョンの違いでそのようなエラーが出るとは僕も知りませんでしたが、初心者の方の大抵のエラーは、単なるケアレスミスです。
●文字を一文字も間違えない(全角・半角も注意する)
●JDKとJREのバージョンをあわせる。
●環境変数PATHの設定を間違いなくする。
●Windows98,WindowsMEの人は、環境変数を設定したらPCを再起動する。
以上、4点を守りさえすれば、”間違いなく”Javaは動いてくれます。
では、頑張ってください。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=2203459
No.5
- 回答日時:
こんにちは。
No.2です。えっと、よく見て落ち着いて実行して下さい。
補足いただいた
java -cp. HelloWorld
java -cp.;HelloWorld
ですが、
No2にて回答した
java -cp . HelloWorld
java -cp .; HelloWorld
とよく見比べてみてください。
java_-cp_.;_HelloWorld
( _ を半角スペースとします)
-cpとドットの間の半角スペースがありません。
それでも実行できないとなるとNo3さんの情報を調べてみてください。
(実際開発していても稀に起こります。バージョンの差異)
何度もご回答ありがとうございます。
ご指摘のようにスペースを入れ忘れているところがあったようです・・・。確認してみましたが、結果は変わりませんでした。
No3の方がご指摘いただいたやり方を試してみたいと思います。
No.4
- 回答日時:
普通に JDK をインストールしただけでは -cp オプションは不要だと思いますが、他のソフトとの都合で今後必要になるかも知れないので書いておきます。
> java -cp.の間及び-cp. HelloWorldの間は共に半角スペースを入れております。
-cp オプションは -cp の直後にスペースを入れてその後に クラスパスを書く必要があります。クラスパスが '.' ならば下記のようになります。
java -cp . HelloWorld
これはスペースを入れるべき所を[スペース]と書くとすると下記のようになります。
java[スペース]-cp[スペース].[スペース]HelloWorld
ご返答ありがとうございます。
どうやら私が-cpオプションの記述が間違っていたみたいですね。
ですが、ご指摘どおり確認してみたところ結果は変わりませんでした。
再度、ご教授願えないでしょうか。宜しくお願い致します。
No.2
- 回答日時:
こんにちは。
実行時クラスパスの指定は
java -cp . HelloWorldとか
java -cp .; HelloWorldとかになります。
java_-cp_.;_HelloWorld
( _ を半角スペースとします)
早速のご返答ありがとうございます。
実行時クラスパスの指定ですが、
java -cp.の間及び-cp. HelloWorldの間は共に半角スペースを入れております。
java -cp. HelloWorld
java -cp.;HelloWorld
上記を実行致しましたが結果は
Unrecognized option: -cp.
Could not create the Java virtual machine
のままです。
申し訳ございませんが、再度ご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaからデータベースに接続 エ...
-
Javaは企業向け言語?個人でJava...
-
リアルプレイヤーの古い(以前...
-
vba クリップボードクリアにつ...
-
Webサイト構築用途でのJava,php...
-
sourceforge.jpのソースコード...
-
【JS】ブラウザバージョン別分...
-
MSCOMCTL.OCXのアップデートの方法
-
スキル高めのIT技術者になぜ左...
-
「music box」?というソフト ...
-
サーブレットとPHPの違い
-
javaのジェネリックスでTとEの...
-
超恥愚問ですが、CとC++の間に...
-
微妙な環境でプログラマー志望
-
VC++もしくはMFCからEXCELをコ...
-
GitやGithubを勉強するために、...
-
visual stadio 参照問題
-
XMLとUMLの相違点?
-
JAVAでお絵かきソフト
-
データベースについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaでのエラーについて
-
javaからデータベースに接続 エ...
-
CLASSPATHを設定しても、『Clas...
-
struts2環境構築で不具合が出て...
-
-Applet表示でのjava.lang.Clas...
-
java と javax の違いは?
-
Tomcatでエラー
-
javaサーブレット upload時
-
マイクラ Ender IO 入れたらク...
-
JAVA実行時エラーについて教え...
-
[RMI]UnicastRemoteObject.expo...
-
propertiesが読み込めなくてnul...
-
Eclipseにdllがうまく読み込めない
-
javacのコンパイルでファイルが...
-
コンパイルエラーをファイルに...
-
マイクラ1.7.10にcutallなどが...
-
JasperExceptionのエラーログの...
-
AntでのJunitの試験
-
Java1.6でOracle11gに接続エラー
-
JavaMail関係でエラーが出ます
おすすめ情報