Eclipse на Mac использует неправильный JDK

У меня есть два 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.

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

vs97 23.11.2018 22:28

@vshcherbinin см. обновление

ccleve 23.11.2018 22:35

На той же вкладке «JRE» есть поле «Альтернативная JRE», где вы можете установить желаемую JRE.

vs97 23.11.2018 22:37

@vshcherbinin Хорошо, это полезно, и это действительно работает для этого одного класса. Но это не меняет системную библиотеку JRE. Я бы хотел изменить настройки по умолчанию глобально.

ccleve 23.11.2018 22:40

Я думаю, вы можете отредактировать свой eclipse.ini, чтобы установить конкретный jvm для использования, добавьте следующие строки перед -vmargs -vm /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Ho‌​me/lib/jli/libjli.dy‌​lib В моем случае у меня только java 10, но он должен быть таким же для 11, который, как мне кажется, -vm и путь должен быть на разных линиях.

nmorenor 23.11.2018 23:29
Поддержка Java 11 для Eclipse 2018-09 (4.9) требуется для установки уровня соответствия 11. Чтобы изменить системную библиотеку, используемую проектом, выполните следующие действия: в Проект> Свойства ...: Путь сборки Java на вкладке Библиотеки выберите узел Системная библиотека JRE, щелкните Редактировать... и в качестве Среда выполнения выберите JavaSE-11.
howlger 24.11.2018 08:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
892
0

Другие вопросы по теме