it-swarm.com.ru

Почему я не могу увидеть путь Java_HOME на моей MAC OS X 10.11?

Я пытаюсь запустить приложение Java на моей MAC OS X 10.11 (El Capitan).

Я использовал эту ссылку для установки Java_HOME на моей MAC OS X 10.11.

Я могу запустить следующие команды:
Java-версия 
какая Java

Однако, когда я захожу в приложение Terminal на MAC и набираю echo $ Java_HOME, я ничего не вижу. Это почему? Значит ли это, что мой Java_HOME установлен неправильно?

15
Andy

Где это определить

Хорошо, во-первых, мы должны прояснить где установить Java_HOME.

Упрощенно, вы можете определить его в двух файлах: ~/.bashrc или ~/bash_profile. По умолчанию default первый выполняется для так называемых «интерактивных оболочек без входа в систему», в то время как второй используется для «оболочек входа в систему» ​​. «Оболочка входа» - это именно то, что вы ожидаете: оболочка который запускается после входа в систему через командную строку. «Интерактивная оболочка без входа в систему» ​​- это оболочка, которая запускается, например, из GUI. Итак, в соответствии с этим, мы должны поместить наш оператор экспорта в ~/.bashrc.

Примечание: хотя приложение «Терминал» OS X считывает оба упомянутых файла, это не стандартное поведение и поэтому не должно рассматриваться как таковое. И именно поэтому я написал объяснение.

Что определяют

Вам необходимо экспортировать Java_HOME в файл ~/.bashrc, чтобы при каждом открытии оболочки устанавливалась переменная.

В OS X комплекты разработки Java и среды выполнения хранятся в /Library/Java/JavaVirtualMachines/ довольно долгое время. Посмотрите там. Вот как это выглядит на моей машине:

/Library/Java/JavaVirtualMachines/
├── jdk1.7.0_45.jdk
├── jdk1.8.0_20.jdk
├── jdk1.8.0_25.jdk
└── jdk1.8.0_51.jdk

Подпапки выглядят примерно так

jdk1.7.0_45.jdk/
└── Contents
    ├── Home
    ├── Info.plist
    └── MacOS

И там мы получили это. Поэтому, если вы хотите указать на JDK 1.7.0_45, вы должны поместить следующее выражение в свой .bashrc

export Java_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"

Чтобы убедиться, что вызываются правильные двоичные файлы для этой версии Java, вы также должны добавить следующее где-то после вышеприведенного оператора:

export PATH=$Java_HOME/bin:$PATH
34
Markus W Mahlberg
export Java_HOME=$(/usr/libexec/Java_home -v 1.8)

это для Java 8 .... оригинальная ссылка, где я нашел это здесь Установка Java на Mac OS X 10.10 Yosemite и 10.11 El Capitan

Но принятый ответ тоже работает. Просто нужно обратить внимание на изменения пути после обновления.

7
SDen

Вы найдете много ответов о том, как установить Java_HOME в OSX, но трудно найти ответ на вопрос, нужна ли вообще установка Java_HOME.

Это почему? Означает ли это, что мой Java_HOME установлен неправильно?

В OSX установка переменной среды Java_HOME необязательна. Установщики JRE и JDK не обеспечивают установку Java_HOME; так что Java_HOME не установлен идеально.

1
chw1k

Если вы хотите использовать jdk 1.6 по какой-то причине, которую Apple перестала поддерживать. Он будет удален после обновления Mac OS. Вы все еще можете получить jdk 1.6 с этой страницы: https://support.Apple.com/kb/DL1572?locale=zh_CN

После повторной установки jdk 1.6 не забудьте подтвердить экспорт правильного каталога для системной переменной $ Java_HOME в ~/.bash_profile и т.д Для меня это "/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Главная".

0
Willie Z