1

最近、ubuntu サーバーに open-jdk 7 をインストールしました。ただし、バージョンは引き続き次のように表示されます。

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)

そして、Java プログラムを実行しようとすると、foll 例外が発生します。

Exception in thread "main" java.lang.UnsupportedClassVersionError: hello : Unsupported major.minor version 51.0

これは、より高い jdk でプログラムをコンパイルし、より低い jdk で実行しようとした結果です。どうすればこれを修正できますか。

編集:しかし、 javac -version を実行すると、応答として javac 1.7.0_09 が返されます。

4

3 に答える 3

1

次のように聞こえます。

1) Java の複数のバージョンがインストールされている (これはまったく問題ありません!) ... そして ...

2) 「javac」は正しいバージョンを取得していますが、「java」は別のバージョンを取得しています。

解決:

更新-Java-代替

たとえば、次のリンクを見てください。

https://askubuntu.com/questions/64329/how-to-replace-openjdk-6-with-openjdk-7

# EXAMPLE:
$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
于 2013-01-06T04:10:07.397 に答える
0

ソースを移動して、ubuntu ボックスで再コンパイルしますか?

于 2013-01-06T03:56:14.097 に答える
0

おそらく、新しくインストールされたJDKは、 $PATH の一部ではない別のディレクトリにあります(非常に一般的です)。find / -name "javac" を実行して、見つかったエントリの数を確認します。

おそらく複数見つかります。

于 2013-01-06T04:10:52.403 に答える