установите версию Mac JDK на 1.8

Я искал несколько способов изменить версию JDK на Mac.

$/usr/libexec/java_home

И я получил

/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home

Я старался

$export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home

также пытался

/usr/libexec/java_home 1.8.0_31 --exec javac -version

тогда я бегу

$echo $JAVA_HOME

/Библиотека/Java/Виртуальные машины Java/jdk1.8.0_31.jdk/Содержание/Главная

затем я перепроверяю java -версию

$java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

Как я могу действительно изменить java -версию на моем Mac.


person Michael Gao    schedule 28.02.2015    source источник
comment
Теперь я знаю, почему мне всегда не удавалось изменить версию JDK. Ранее я добавил путь java 1.7 в свой ~/.bash_profile и включил его в PATH. Теперь я удаляю эту строку, и теперь я могу изменить ее.   -  person Michael Gao    schedule 01.03.2015


Ответы (2)


Чтобы установить Java на 1.8 для вашей среды оболочки, поместите это в свой ~/.bash_profile:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
person andrus_a    schedule 28.02.2015
comment
Привет. Я сделал, но когда я перезапускаю терминал и повторно запускаю java -version. все равно показывает 1.7 - person Michael Gao; 01.03.2015
comment
Совет актуален. Как вы сказали в своем другом комментарии, другие вещи в вашем .bash_profile мешали - person andrus_a; 02.03.2015
comment
У меня была такая же проблема, мне пришлось закрыть все открытые окна терминала. Тогда это сработало, в моем случае мне пришлось перезапустить intellij и перезапустить iterm, чтобы он заработал. Возможно, у них был встроенный кеш. - person cabaji99; 29.11.2017
comment
Я попытался удалить Java 9, какая головная боль на Mac, и появилось это решение: идеально - person Laurent Russier; 27.12.2017
comment
в последней версии Mac по умолчанию используется zsh вместо bash, поэтому в этом случае вам может потребоваться выполнить эквивалентное решение, упомянутое здесь, но в ~/.zshenv вместо ~/bash_profile - person Andrew Norman; 15.05.2021

Solution without 3rd party tools:

оставьте все JDK в их расположении по умолчанию в папке /Library/Java/JavaVirtualMachines. По умолчанию система выберет самую высокую версию. Чтобы исключить выбор JDK по умолчанию, переименуйте его Contents/Info.plist в Info.plist.disabled. Этот JDK по-прежнему можно использовать, когда $JAVA_HOME указывает на него или явно указан в сценарии или конфигурации. Он будет просто проигнорирован системной java-командой. Средство запуска системы будет использовать JDK с самой высокой версией среди тех, у которых есть файл Info.plist.

При работе в оболочке с альтернативным JDK выберите свой метод среди существующих ответов (jenv или настраиваемые псевдонимы/скрипты вокруг /usr/libexec/java_home и т. д.).

person Dev    schedule 12.05.2020
comment
гениальное решение.. - person Shubham; 17.05.2021
comment
самое простое решение. должен быть более заметным. - person Oskar Westmeijer; 01.06.2021