Как установить переменную среды JAVA_HOME на macOS?

Я знаю, что этот вопрос был задан намного раньше, но я прочитал, и я покажу вам, что я получил.

Я перечислить команды, которые я сделал в моей OS X Yosemite 10.10.1

java -version

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

java -fullversion

 java full version "1.8.0_45-b14"

, который java

/usr/bin/java

Java home variable не задана, потому что когда я это делаю: echo $java_home или echo $JAVA_HOME или echo $Java_Home, я ничего не получил на терминале.

при этом: ls -l which java Я получил следующее:

8 lrwxr-xr-x  1 root  wheel  74 Nov 12  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

javac -version

javac 1.8.0_45

/USR/libexec/java_home

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

Решение, которое, по моему мнению, правильно после чтения в Интернете,

echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile  

но я боюсь его протестировать, поэтому я прошу вас, если это правильно или нет, и если нет, то что мне делать?

Ответ 1

Я не уверен, почему вы боитесь испытать, вы можете спокойно протестировать это:

В сеансе терминала введите следующее:

echo "export JAVA_HOME=`/usr/libexec/java_home`"

Это напечатает следующую строку:

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

Скопируйте приведенное выше и вставьте в окно терминала, затем нажмите клавишу ввода. и выполните java -version, чтобы увидеть, как он работает правильно. Если все в порядке, вы можете прикрепить код к своему .profile:

Но добавление этой строки напрямую лучше, потому что вам не нужно обновлять .profile при обновлении JDK.

export JAVA_HOME=`/usr/libexec/java_home`

Обратитесь к странице руководства для java_home. Короче говоря, он предоставляет соответствующий путь для JAVA_HOME для нормальной установки на macOS