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

136

Я только что купил новый MacBook Pro.

Это мой первый MAC, и я все еще пытаюсь научиться ориентироваться в нем.

В любом случае, я тоже новичок в Java, и я практиковался на своем ПК с Windows, прежде чем он навсегда умер.

Теперь, когда я использую этот MAC, я установил свой JDK, и теперь мне нужно установить JAVA_HOMEпеременную среды.

Я понятия не имею, что делать.

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

  1. Mkyong.com: Как установить переменную JAVA_HOME в Mac OSX

  2. YouTube: как установить переменные среды на mac, linux, solaris, rhel

  3. YouTube: Как установить переменные среды на Mac

Мне удалось найти терминал, и я думаю, что создал несколько файлов. Я получаю такие сообщения:


(1) Другая программа может редактировать тот же файл. В этом случае будьте осторожны, чтобы не получить два разных экземпляра одного и того же файла при внесении изменений. Закройте или продолжайте с осторожностью.


(2) Сбой сеанса редактирования этого файла. В этом случае используйте «: recovery» или «vim -r /Users/Erwin/.bash_profile» для восстановления изменений (см. «: Help recovery»). Если вы уже сделали это, удалите файл подкачки «/Users/Erwin/.bash_profile.sw p», чтобы избежать появления этого сообщения.

Может кто-нибудь подскажет, как пошагово установить Java в среде Mac OSX?

islander_zero
источник
Дубликат: superuser.com/questions/240100/…
Фрэнк V
Возможный дубликат того, что я должен установить для JAVA_HOME на OSX
Паскаль
Кратко объясните: stackoverflow.com/a/59151321/5788247
Shomu

Ответы:

329

Буквально все, что вам нужно сделать, это:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

и перезапустите вашу оболочку.

Если у вас установлено несколько версий JDK и вы хотите, чтобы это была конкретная версия, вы можете использовать -vфлаг, чтобы это java_homeпонравилось:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
Адриан Петреску
источник
1
Когда вы говорите «оболочка», вы имеете в виду, что я закрываю окно терминала и снова открываю его? Кроме того, постоянно ли добавляется переменная среды для моего jdk?
islander_zero
1
Да вот что я имею в виду. И да, это добавит переменную для всех оболочек входа для вашего пользователя (то есть практически для всех обстоятельств, при которых вы этого захотите)
Адриан Петреску,
13
Я думаю, вместо перезапуска терминала, если вы это сделаете, source ~/.bash_profileэто сработает, верно?
Shobhit Puri
2
@ShobhitPuri Да, было бы, я просто хотел, чтобы это было проще для спрашивающего.
Адриан Петреску
4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileЕсли вам нужна конкретная версия. 1.7 в данном случае.
Себастьян
26

Я сделал это, поставив

export JAVA_HOME=`/usr/libexec/java_home`

(задники) в моем .bashrc. См. Мой комментарий к ответу Адриана.

JohnL4
источник
15

В Mac OSX 10.5 или более поздней версии Apple рекомендует установить для $JAVA_HOME variable to /usr/libexec/java_homeэкспорта $JAVA_HOME in file ~/. bash_profileили ~/.profile.

Откройте терминал и запустите следующую команду.

$ vim .bash_profile

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

сохраните и выйдите из редактора vim, затем запустите исходную команду на .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
Раджеш Самсон
источник
11

Установите переменную среды $ JAVA_HOME в последней или более ранней версии Mac OSX.

Скачать и установить установить JDK

  1. Сначала установите JDK
  2. Откройте терминал, проверьте версию Java

$ java -version

Установить переменную среды JAVA_HOME

  1. Откройте файл .zprofile

$ open -t .zprofile

Или создать . zprofile файл

$ open -t .zprofile

  1. напишите в .zprofile

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

Сохраните .zprofile и закройте файл bash, а затем напишите в терминале для идеальной работы .

$ source .zprofile

Настроить тест в терминале

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
Shomu
источник
1
Также у меня возник вопрос, что такое «/ usr / libexec / java_home» на самом деле. Ответ: medium.com/zendesk-engineering/...
EKAR
1
/ usr / libexec / java_home - это самый простой в обслуживании способ установки JAVA_HOME в macOS. Вы можете использовать java_home, чтобы: найти все установленные JDK.
Сёму,
7

Перед установкой переменной среды JAVA_HOME рекомендуется проверить оболочку терминала по умолчанию с помощью следующих команд:

$ echo $SHELL
/bin/bash

Если ваш терминал по умолчанию - / bin / bash (Bash), вам следует использовать метод @Adrian Petrescu .

Если ваш терминал по умолчанию - / bin / zsh (Z Shell), вы должны установить эту переменную среды в файле ~ / .zshenv со следующим содержимым:

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

Точно так же для любого другого типа терминала, не упомянутого выше, вы должны установить переменную среды в соответствующем файле env терминала.

Джерри Чонг
источник
4

Я получил его, добавив в ~ / .profile. Каким-то образом после обновления до бета-версии El Capitan он не работал, хотя JAVA_HOME был определен в .bash_profile.

Если есть пользователи бета-версии El Capitan, попробуйте добавить в .profile

Senthil Acs
источник
2
В чем разница между .profile и .bash_profile?
Игорь Ганапольский
3
Идея заключается в том, что .profile работает для всех оболочек (sh, zsh, что угодно); .bash_profile, только для оболочек bash.
JohnL4