AntプロジェクトをJava 7からJava 8。
(「Eclipse Kepler」と「Eclipse Kepler SR2へのJava™8サポート」でデプロイされたプロジェクト)
そのために、私はant 1.9.4(この投稿 http://wiki.Eclipse.org/Ant/Java8 に従って)をダウンロードし、それを「ant home」として設定します。
コンパイルしようとすると、次の警告が表示されます:"major version 52 is newer than 51, the highest major version supported by this compiler. [javac] It is recommended that the compiler be upgraded."
ただし、ワークスペース用に定義したコンパイラは1.8です。 (Ant構成では、コンパイラをワークスペースと同じコンパイラに定義します。)
何が起こったのでしょうか?
どうもありがとう。
エヤル
Antが使用するtools.jarがJDK7ではなくJDK8のものであることを確認してください。
ウィンドウ->設定:
左ペインで、Ant-> Runtimeに移動します。 [クラスパス]タブで、グローバルエントリを確認します。
このエラーは通常、JDKバージョンに違いがある場合に発生します。クラスパス、Java -versionおよび環境変数に設定されているJava_HOMEを確認してください。
Ubuntuでは、jdkからjavah
を構成することで修正しました(openjdkまたはOracle jdkのいずれかが動作します)7から8:
$ javah -classpath . -d jni/ NativeSorting
./NativeSorting.class: major version 52 is newer than 51, the highest major version supported by this compiler.
It is recommended that the compiler be upgraded.
$ Sudo update-alternatives --config javah
There are 4 choices for the alternative javah (providing /usr/bin/javah).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah 1081 auto mode
* 1 /usr/lib/jvm/Java-7-openjdk-AMD64/bin/javah 1071 manual mode
2 /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah 1081 manual mode
3 /usr/lib/jvm/jdk1.7.0_80/bin/javah 1000 manual mode
4 /usr/lib/jvm/jdk1.8.0_131/bin/javah 1000 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/Java-8-openjdk-AMD64/bin/javah to provide /usr/bin/javah (javah) in manual mode
$ javah -classpath . -d jni/ NativeSorting
$
Classpath変数にJava_HOMEを追加してください:Window-> Java-> Build Path-> Classpath variables point to the "path/to/jdk"