Ответ 1
Пожалуйста, проверьте, что tools.jar, используемый Ant, принадлежит JDK8, а не JDK7.
Окно → Настройки:
В левой панели перейдите к Ant → Runtime. На вкладке Classpath проверьте глобальные записи.
Я пытаюсь обновить проект ant от java 7 до java 8.
(проект развернут в "Eclipse Kepler" с поддержкой Java ™ 8 для Eclipse Kepler SR2)
Для этого я загрузил 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 он определяет компилятор как один и тот же компилятор рабочего пространства.)
Любая идея, что случилось?
Большое спасибо.
Eyal
Пожалуйста, проверьте, что tools.jar, используемый Ant, принадлежит JDK8, а не JDK7.
Окно → Настройки:
В левой панели перейдите к Ant → Runtime. На вкладке Classpath проверьте глобальные записи.
Эта ошибка обычно возникает, когда есть разница в версии JDK. Пожалуйста, проверьте класс pathpath, java -version и JAVA_HOME, установленные в переменной среды.
Обязательно добавьте JAVA_HOME в переменные Classpath: Window- > Java- > Build Path- > Переменные Classpath указывают на "путь/to/jdk"
В Ubuntu я просто исправил это, настроив javah
из jdk (работает 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
$