Что я должен установить 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).



но какой из них следует использовать-или это нормально, чтобы использовать любой из них?

717   13  

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

В настоящее время Java, кажется, установлен в /Library/Java/JavaVirtualMachines

Я 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, кажется, отрабатывает .mavenrc file:

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

    Ничего не найдено.