Где находится JAVA_HOME в macOS от Мохаве (10,14) до Льва (10,7)? - PullRequest
537 голосов
/ 06 июля 2011

Java - это дополнительный пакет в последних версиях macOS.

Тем не менее, после установки она выглядит как JAVA_HOME Переменная окружения установлена ​​неправильно .

Ответы [ 24 ]

10 голосов
/ 11 октября 2012

Лучший (более обновляемый) способ - использовать следующее:

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

Это должно работать и с AWS, так как в нем bin находится под Home

7 голосов
/ 12 ноября 2018

для macOS Mojave 10.14.1 и JAVA 11.0.1 Я установил профиль как

export JAVA_HOME=$(/usr/libexec/java_home)

, введите в терминале это, чтобы подтвердить:

$JAVA_HOME/bin/java -version

java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
5 голосов
/ 16 октября 2013

Мой подход:

.bashrc

export JAVA6_HOME=`/usr/libexec/java_home -v 1.6`
export JAVA7_HOME=`/usr/libexec/java_home -v 1.7`
export JAVA_HOME=$JAVA6_HOME

# -- optional
# export PATH=$JAVA_HOME/bin:$PATH

Это позволяет очень легко переключаться между J6 и J7

3 голосов
/ 29 декабря 2018

Мне пришлось явно указать точный путь в моем MacBook Air.

Шаги:

  1. попробуйте echo $JAVA_HOME (если он установлен, он покажет путь), если нет, попробуйте найти его, используя sudo find /usr/ -name *jdk
  2. Редактировать Bash p с помощью - sudo nano ~/.bash_profile
  3. Добавьте точный путь к JAVA Home (путь из шага 2 выше) export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
  4. Сохранить и выйти
  5. Проверьте JAVA_Home, используя - echo $JAVA_HOME

Я использую MACOS MOJAVE - 10.14.2 (18C54) на Macbook Air с JAVA 8

2 голосов
/ 19 ноября 2014

OSX Yosemite, ZSH и Java SE Runtime Environment 8, мне пришлось:

$ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands /System/Library/Frameworks/JavaVM.framework/Versions/Current/bin

и в ~ / .zshrc изменить JAVA_HOME на export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/Current"

2 голосов
/ 26 октября 2013

Для Mac OS X 10.9 я установил последнюю версию JRE из Oracle, а затем сбросил JAVA_HOME на /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home.

Я уверен, что есть лучший способ, но заставил меня работать.

hughsmac: ~ hbrien $ echo $ JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

1 голос
/ 10 ноября 2014

Если вам нужно иметь несколько версий JDK под Mac OS X (Yosemite), может быть полезно добавить некоторые сценарии для автоматического переключения между ними.

Что вы делаете, это редактируете ваш ~ / .bash_profile и добавляете следующее:

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }
setjdk 1.7

Сценарий сначала должен удалить другие версии JDK в PATH , чтобы они не мешали нашей новой версии JDK.Затем он разумно использует / usr / libexec / java_home , который представляет собой команду, в которой перечислены установленные версии JDK.Аргумент -v указывает java_home , чтобы он возвращал путь JDK с предоставленной версией, например, 1.7.Мы также обновляем PATH , чтобы он указывал на каталог bin недавно обнаруженного каталога JAVA_HOME .В конце мы можем просто выполнить функцию, используя

setjdk 1.7

, которая выбирает последнюю установленную версию JDK ветки 1.7.Чтобы выбрать конкретную версию, вы можете просто выполнить

setjdk 1.7.0_51

.Запустите / usr / libexec / java_home -V , чтобы получить более подробную информацию о выборе версий.

PS Не забудьте source ~ / .bash_profile после сохраненияэто.

1 голос
/ 23 апреля 2013

Возникла та же проблема после обновления моей Mac OS, и у меня сработало следующее:

  1. cmd> vi ~ / .bash_profile

  2. Добавьте / обновите строку для JAVA_HOME: export JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.7.0_15.jdk / Contents / Home"

  3. cmd> source ~ / .bash_profile илиоткройте новый терминал

Я думаю, что версия jdk может отличаться, поэтому просто используйте версию, которая у вас есть в / Library / Java / JavaVirtualMachines /

0 голосов
/ 07 октября 2018

Просто установите java_home для версии 1.8 jdk в netbeans.conf файле:

/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

Раскомментированная строка:

netbeans_jdkhome="path/to/jdk"

и укажите путь к вашему 1.8 jdk, в моем случае:

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home"

При таком подходе у вас будет несколько версий jdk на Mac OS

0 голосов
/ 06 июня 2018

Я использую Fish оболочку на High Sierra 10.13.4 и установил Java через Brew.

Он не настроен автоматически, поэтому для его правильной установки моя система, которую я запускаю:

set -U JAVA_HOME (/usr/libexec/java_home)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...