Как параметр Eclipse JDK влияет на настройку JDK системы

Я пытался скомпилировать приложение Grails, ссылающееся на сторонние JAR на Mac OSX. Хотя моя система JRE и JDK установлена ​​на Java 1.6, я всегда получал Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file при доступе к классам в JAR. Также при тестировании существующего приложения Grails используется статистика по умолчанию, показывающая, что она работает с Java 1.6. Поэтому у меня действительно не было больше идей, чем пытаться изменить настройки Java в Eclipse - я думал, что это глупо, поскольку я не использую Eclipse для разработки этого приложения - но voila - теперь компиляция моего приложения по команде линия работает просто отлично!

Может ли кто-нибудь объяснить мне, что Eclipse делает здесь за кулисами? Я вручную установил JAVA_HOME без эффекта.

Ответ 1

JDK (JAVA_HOME), используемый для запуска eclipse, не обязательно используется для компиляции вашего проекта.

Чтобы узнать, какие JRE вы можете выбрать для своего проекта, проверьте настройки

General > Java Installed JRE

По умолчанию, если вы не добавили JRE, единственным объявленным будет тот, который использовался для запуска eclipse (который может быть определен в eclipse.ini).
Вы можете добавить любую другую JRE, которая вам нужна, в том числе совместимую с вашим проектом.

http://help.eclipse.org/juno/topic/org.eclipse.jdt.doc.user/tasks/images/task-add_jre_std_vm.PNG

После этого вам нужно будет проверить свои свойства проекта (или в общих настройках), какую JRE использовать, с каким уровнем соответствия:

http://www.standartux.fr/public/Java/Preferences.png