java.lang.UnsupportedClassVersionError

いつも使っているのとは異なるPCでEclipse(Version: 3.4.0)を使ってJavaを動かそうとしたら,下のような例外が出て,動かなかった.

java.lang.UnsupportedClassVersionError: Bad version number in .class file

Oracle Technology Network for Java Developersによれば,

Java 仮想マシンがクラスファイルを読み込もうとして、 ファイル内のメジャーおよびマイナーのバージョン番号がサポートされていないと判断した場合にスローされます。

つまり,コンパイラによって作られたJavaのクラスファイルのバージョンとJavaVMのバージョンの違いが原因らしい.
設定を確認したら,コンパイラの方は1.6で*1,JavaVMの方は1.5だった*2
どっちかのバージョンに統一するか,JavaVMの方を高いバージョンにすれば良いと思ったので,試してみた.

予想通りの挙動である.

*1:Eclipseのメニューのウィンドウ->設定->Java->コンパイラー->コンパイラー準拠レベル で確認

*2:Eclipseのメニューのウィンドウ->設定->Java->インストール済みのJRE で確認