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で質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
struts2環境構築で不具合が出て...
-
Javaでのエラーについて
-
マイクラ1.7.10にcutallなどが...
-
vba クリップボードクリアにつ...
-
PythonやJavaScriptのように実...
-
VBA(えくせる)ってなんでメン...
-
DirectX SDKのダウンロード
-
授業でプログラミングのJavaの...
-
サイドワインダーのドライバ
-
gitでバージョン指定してダウン...
-
Pythonを勉強する道のり
-
ホームページNinjaネットショッ...
-
Windows7でVB2005の開発
-
オブジェクト指向について
-
スプライン補間関数が実装され...
-
XMLとUMLの相違点?
-
Microsoft edgeでflash player...
-
意味が分からないエラー
-
C#MVCフレームワークの学習課題...
-
MikuMikuDance最新版ダウンロー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java と javax の違いは?
-
Javaでのエラーについて
-
propertiesが読み込めなくてnul...
-
CLASSPATHを設定しても、『Clas...
-
javaからデータベースに接続 エ...
-
struts2環境構築で不具合が出て...
-
JasperExceptionのエラーログの...
-
マイクラ1.7.10にcutallなどが...
-
JAVA実行時エラーについて教え...
-
-Applet表示でのjava.lang.Clas...
-
Servletから呼ぶ外部コマンドの...
-
JDBC-ODBC-MDB(日本語テーブル...
-
EclipseのJDBCドライバーについて
-
JUNITについて
-
マイクラ Ender IO 入れたらク...
-
$_SERVER['HTTP_USER_AGENT'] ...
-
log4jを使用し、JAVAのバッチプ...
-
JavaMail関係でエラーが出ます
-
javaのGUIツールキット
-
JavaMailでのメール送信
おすすめ情報