Як встановити змінну середовища JAVA_HOME на Mac OS X 10.9?


135

Я щойно придбав абсолютно новий 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" для відновлення змін (див. ": Допомогти відновити"). Якщо ви вже робили це, видаліть файл swap "/Users/Erwin/.bash_profile.sw p", щоб уникнути цього повідомлення.

Хтось може сказати, як встановити Java в середовищі Mac OSX поетапно?




Коротко поясніть: stackoverflow.com/a/59151321/5788247
Shomu

Відповіді:


327

Буквально все, що вам потрібно зробити, це:

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. Дивіться мій коментар до відповіді Адріана.


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

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


2
Яка різниця між .profile та .bash_profile?
ІгорГанапольський

3
Ідея полягає в тому, що .profile працює для всіх оболонок (sh, zsh, що завгодно); .bash_profile, лише для оболонок bash.
JohnL4

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.