У меня есть два JDK на моем Mac, 1.8 и OpenJDK 11. У меня есть эта строка в моем .profile:
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
В терминале java -version показывает, что он использует 11, а echo $ JAVA_HOME также указывает на 11.
Я установил Preferences / Java / Installed JREs на 11. Я установил уровень соответствия 11 в конфигурации компилятора в моем pom.
Eclipse, однако, показывает "Системную библиотеку JRE" в моем проекте как 1.8. Когда я выполняю класс в проекте, он работает под версией 1.8.
Что дает? Есть ли секретная настройка на Mac, указывающая Eclipse на использование 1.8? Или секретная настройка в конфиге Eclipse?
(Я использую последнюю версию Eclipse, 2018-09, полностью обновленную.)
Обновлять: Согласно комментарию @ vshcherbinin, на вкладке Run Configuration / Java Application / JRE указано «Project Execution Environment 'JavaSE-1.8' (Home)». Я не верю, что у меня есть какие-либо настройки для конкретного проекта. Я удалил из проекта .project, .classpath и .settings и повторно импортировал базовый проект Maven. Не уверен, как сделать среду выполнения проекта по умолчанию 11.
@vshcherbinin см. обновление
На той же вкладке «JRE» есть поле «Альтернативная JRE», где вы можете установить желаемую JRE.
@vshcherbinin Хорошо, это полезно, и это действительно работает для этого одного класса. Но это не меняет системную библиотеку JRE. Я бы хотел изменить настройки по умолчанию глобально.
Я думаю, вы можете отредактировать свой eclipse.ini, чтобы установить конкретный jvm для использования, добавьте следующие строки перед -vmargs -vm /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/lib/jli/libjli.dylib В моем случае у меня только java 10, но он должен быть таким же для 11, который, как мне кажется, -vm и путь должен быть на разных линиях.




Вы изучали свою конфигурацию запуска? Отметьте «Выполнить конфигурацию» -> «Приложение Java» -> вкладка JRE.