Что я должен установить JAVA HOME на OSX
многие Java-приложения, использующие сценарии оболочки для настройки своей среды, используют JAVA_HOME переменная окружения чтобы запустить правильную версию Java, найдите JRE JARs и так далее.
на OSX 10.6, следующие пути, кажется, действительны для этой переменной
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
некоторые из них являются символическими ссылками на фактическую текущую виртуальную машину (как определено в панели предпочтений Java).
но какой из них следует использовать-или это нормально, чтобы использовать любой из них?
13 ответов:
у снежного барса все еще есть
/usr/libexec/java_home? На 10.5, я просто поставилJAVA_HOMEк выходу этой команды, которая должна дать вам путь Java, указанный в ваших настройках Java. Вот фрагмент из моего.bashrcфайл, который устанавливает эту переменную:export JAVA_HOME=$(/usr/libexec/java_home)Я не испытывал никаких проблем с этой техникой.
иногда я должен изменить значение
JAVA_HOMEк более ранней версии Java. Например, одна программа, которую я поддерживаю, требует 32-разрядной Java 5 на OS X, поэтому при использовании этой программы, я поставилJAVA_HOMEработает:export JAVA_HOME=$(/usr/libexec/java_home -v 1.5)для тех из вас, кто не имеет
java_homeна вашем пути добавьте его вот так.sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home /usr/libexec/java_home
кроме того, интересно установить свой путь, чтобы отразить JDK. После добавления JAVA_HOME (что можно сделать с помощью примера, приведенного 'mipadi'):
export JAVA_HOME=$(/usr/libexec/java_home)добавить в ~/.профиль:
export PATH=${JAVA_HOME}/bin:$PATHП. С.: для OSX, я обычно использую .профиль в домашнем реж вместо .bashrc
Я MAC OS X (Sierra) 10.12.2.
Я переменной JAVA_HOME для работы на Реагировать Уроженца(для Android-приложений), выполнив следующие действия.
открыть терминал (Команда+R, тип терминала, нажмите ENTER).
добавить следующие строки ~/.файл.
export JAVA_HOME=$(/usr/libexec/java_home)теперь выполните следующую команду.
source ~/.bash_profileвы можете проверить точное значение переменной JAVA_HOME введите следующую команду.
echo $JAVA_HOMEвозвращаемое значение(выход) будет примерно таким, как показано ниже.
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Homeвот именно.
Я на Mac OS 10.6.8
самое простое решение работает для меня просто положили в
$ export JAVA_HOME=$(/usr/libexec/java_home)чтобы проверить, работает ли он, положил в
$ echo $JAVA_HOMEэто показывает
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Homeвы также можете проверить
$ which java
Я предпочитаю использовать
/Library/Java/Home. Способ работы панели настроек это должно быть в курсе вашей предпочтительной версии.
что выше работает не больше в YOSEMITE для графических приложений! Как затмение, или что-нибудь началось с Spotlight. (.bash_profile, launchd.conf работает только для терминальных сессий.) Перед запуском eclipse просто откройте окно терминала и введите следующую команду:
launchctl setenv JAVA_HOME / Library/Java/JavaVirtualMachines / jdk1.7.0_45.jdk / Contents / Home
(с вашим путем установки! Возможно работает с $(/usr/libexec / java_home) вместо полный путь тоже.)
посмотреть всю отличную статью о постоянном решении здесь: установка переменных окружения через launchd.conf больше не работает в OS X Yosemite/El Capitan/macOS Sierra?
Я нашел это стек чтобы помочь, у меня была та же проблема, и я мог бы исправить:
мой путь java был здесь:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Homeи нужно было положить в мой
.bash_profile:
export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"надеемся помочь
Как отмечают другие ответы, правильный способ найти домашний каталог Java-использовать
/usr/libexec/java_home.официальная документация для этого находится в Apple технические вопросы и ответы QA1170: важные каталоги Java на OS X: https://developer.apple.com/library/mac/qa/qa1170/_index.html
для меня maven, кажется, отрабатывает
.mavenrcfile:echo "export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" > ~/.mavenrcЯ уверен, что я взял его на так тоже, просто не могу вспомнить, где.
пропуск настройки терминала поскольку вы упомянули приложения, постоянная переменная системной среды настроена (работает для macOS Sierra; должна работать и для El Capitan):
launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)(Это позволит установить JAVA_HOME для последней версии JDK 1.8, скорее всего, вы прошли через несколько обновлений, например, с помощью javac 1.8.0_101, что javac 1.8.0_131)
Конечно, менять 1.8 на 1.7 или 1.6 (на самом деле?), чтобы удовлетворить ваши потребности и вашу систему
создать файл
~/.mavenrcзатем вставьте это в файл
export JAVA_HOME=$(/usr/libexec/java_home)тест
mvn -v
для пользователей рыбных раковин используйте что-то вроде следующего:
alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"
Comments