dポイントプレゼントキャンペーン実施中!

失礼致します。
コマンドラインから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)

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

A 回答 (2件)

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/ …

によれば,-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/ …
    • good
    • 0

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

この回答への補足

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

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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!