UnsupportedClassVersionErrorが出たときの対処法

| トラックバック(0)

今日、とある環境でJavaを実行しようとしてUnsupportedClassVersionErrorというエラー
がでてしまいました。対処法をメモしておきます。
UnsupportedClassVersionErrorを調べたところ、

public class UnsupportedClassVersionError extends ClassFormatError Java Virtual Machine が、クラスファイルの読み込み中に、そのファイルのメジャーバージョン番号とマイナーバージョン番号がサポートされていないと判定した場合にスローされます。

とのことです。
これはJava VMのバージョンに対してできあがったクラスファイルのバージョンのほうが新しいので実行できないために起こるようです。(私の環境は現在Java1.5です)
よって、1.3など、Java VMが対応しているバージョンを指定してコンパイルすれば大丈夫です。

以下のようにコンパイル時に-source 1.3 -target 1.3を指定し、(1.3はバージョン)

javac -source 1.3 -target 1.3 hoge.java

としてコンパイルしたところ実行できました。

////////////////////////////////////////////////
注意点 (私がはまったポイント)

◆-targetのみだとエラーになる
D:\Data\Java\FrameTest>javac -target 1.3 hoge.java
javac: ターゲットリリース 1.3 がデフォルトのソースリリース 1.5 と競合しています。

◆-sourceも指定すると大丈夫
D:\Data\Java\FrameTest>javac -source 1.3 -target 1.3 hoge.java


参考:http://report.station.ez-net.jp/software/sun/java/sdk.asp

トラックバック(0)

トラックバックURL: http://www.bird-soft.net/mt5/mt-tb.cgi/73

最近のブログ記事

お知らせ
[お知らせ] ・その1  Movable…
CANON EOS 7D レビュー
新しい一眼レフ「EOS 7D」を買いまし…
コスモス畑
先週、あけぼの山農業公園のコスモス畑に行…