みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javacとjavaのバージョン違い

失礼致します。
コマンドラインからclassファイルを実行しようとしています。
しかし、実行したところ「java.lang.UnsupportedClassVersionError」というエラーが出ます。コンパイラとjavaのバージョンは次の通りです。
C:\work>javac -J-version
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
Java HotSpot(TM) Client VM (build 1.4.2_12-b03, mixed mode)

C:\work>java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)

このため、バージョンを一致させる必要があるかもしれません。
ですが、あるプロジェクトに関わっており、バージョンを変更するのは容易ではありません。何か、バージョンを変更する以外でよい方法はございますでしょうか?
また、バージョンをいじるならどちらを合わせるべきでしょうか?

投稿日時 - 2007-03-26 17:42:39

QNo.2867507

暇なときに回答ください

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

No.1の補足に,

> C:\work>javac -target 1.3.1
> javac: 1.3.1 は無効な VM バージョンです。

とあるのですが,

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/tooldocs/win32/javac.html

によれば,-target の引数は '1.3' とすべきではないでしょうか?

また,質問文に,

> また、バージョンをいじるならどちらを合わせるべきでしょうか?

とありますが,No.1の補足に

> javaの方を1.4.2で動作させる方を考えたほうがよろしいでしょうか?

と書かれている通り,Java VM のほうを1.4.2にそろえるほうがいいと思います。Javaは基本的に下位互換性が保たれているので,Java VM 1.3で動くバイドコードは,たいていは Java VM 1.4 上でも動作します。

参考URL:http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/tooldocs/win32/javac.html

投稿日時 - 2007-03-28 00:43:29

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

javacの-targetオプションを使用してはいかがでしょうか?

投稿日時 - 2007-03-26 18:18:03

補足

 ご回答ありがとうございました。
早速、指摘して頂いた通り行いました。

C:\work>javac -target 1.3.1
javac: 1.3.1 は無効な VM バージョンです。

もしjavacが1.5でjavaが1.4のバージョンならこの方法でうまくいったと思うのですが、今回は駄目でした。
javaの方を1.4.2で動作させる方を考えたほうがよろしいでしょうか?
同様な方法を探してみます。

投稿日時 - 2007-03-27 10:42:20

あなたにオススメの質問