java.lang.ClassFormatErrorで困ってた
以下のようなエラーが出て、途方に暮れていた。
Exception in thread "main" java.lang.ClassFormatError: HelloWorld (unrecognized class file version)
調べていると、以下のURLに行き着いた。
http://java-house.jp/ml/archive/j-h-b/004955.html#body
書かれてあることに当てはまっていた。
というのもファイルはftp経由で持ってきていた。しかも、asciiとかbinaryとか考えずに。
クラスファイルが化けているかもしれないと、すべてコンパイルしなおした。
でも、エラーが出る。
次に、以下のようなURLを発見して解決しました。
http://www.simazaki.com/~izumi/blog/archives/2007_5_21_470.html
原因はSunのjavaではなく、GNUのgijが動いていることらしい。
ということで、Sunのjavaに切り替えた。
[root]# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_12/bin/java 2 [root]# /usr/sbin/alternatives --config java 2 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java 2 /usr/java/jdk1.6.0_12/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2