• ベストアンサー

コマンドプロンプトでのJava実行エラー

コマンドプロンプトでJavaコマンドを実行(RunTest.class)を実行すると「Exception in thread"main" java.lang.UnsupportedClassVersionError: RunTest : Unsupported major.minor version 51.0」 というエラーが出てしまいます。 他のページ調べてみるとJDKとJREのバージョンが違うと発生するようなので確認してみると JDK1.7.0_09とJRE7でした。 このエラーが発生しないようにするにはどうすれば良いでしょうか? 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

クラスファイルのバージョンが51.0なら、それはJava 7では実行できますがJava 6以前では実行できません。 コマンドプロンプトで java -version を実行したらどういう結果になりますか? きっと、Java 7でない古いJavaのバージョンが表示されると思います。 ついでに echo %PATH% を実行した場合の結果も教えてください。質問文には使っているOSが書かれていないので、Windowsだと仮定しています。 解決方法は、どこかにインストールされている古いJavaを消すか、環境変数の指定で古いJavaよりもJava 7を優先することです。

SABA-38
質問者

お礼

仰せのとおり環境変数に古いJavaのパスが優先されていたようです。古いパスを消してJava7のパスを優先したところ実行できるようになりました。 ありがとうございました。

その他の回答 (2)

  • aton
  • ベストアンサー率47% (160/334)
回答No.3

コンパイルする時に,javacでtargetオプションを指定してコンパイルしてはどうでしょうか。 javac -target 1.6 ソースファイル とか javac -target 1.5 ソースファイル 参考: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html

SABA-38
質問者

お礼

ありがとうございました。 実行できるようになりました。

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

特に調べた訳ではありませんが、 察するにコンパイル時にはJDKを見て実行時にはJREを見ているということでしょうか。 もしそうなら、環境変数を弄って、両方JDK側を見る様にすれば解決する気がします。

SABA-38
質問者

お礼

ヒントをありがとうございます。 環境変数にはJDKのbinフォルダーを指定しています。これはコンパイル時のパスになるのでしょうか? 実行時のパスの指定方法はわからないのですが、ご存知でしたらご教示いただけますでしょうか? 初心者なので申し訳ございません。

関連するQ&A