Подтвердить что ты не робот

Убедитесь, что JAVA_HOME правильно установлен

Довольно новый для Java, а также для Mac... Я хочу убедиться, что JAVA_HOME установлен так в других программах, я могу использовать его путь. Таким образом, я сделал несколько Googling, и вот что я получил:

Если я ввешу /usr/libexec/java_home в терминал, я получу это: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home но если я ввешу echo $JAVA_HOME в терминал, я ничего не верну.

Не могли бы вы рассказать мне, что здесь происходит?

Спасибо.

4b9b3361

Ответ 1

JAVA_HOME не устанавливается по умолчанию в OSX. Вы можете решить эту проблему, открыв терминал и выполнив следующее:

echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile    
. ~/.profile

Это приведет к тому, что JAVA_HOME будет установлен при запуске (а не только в текущем сеансе) и сразу же добавит его.

Ответ 2

Проверка пути JAVA_HOME

Попробуйте запустить source .bash_profile до echo $JAVA_HOME в корневом каталоге. Это должно исправить проблему, если вы правильно установили JAVA_HOME. Если вы не уверены, что находитесь в своем корневом каталоге, просто введите cd ~, нажмите enter и вы там.

Root Directory

  • Объяснение: source загружает и запускает ваш bash_profile.

Если вы неправильно установили JAVA_HOME, следуйте приведенным ниже инструкциям, чтобы все прояснилось.

  • vim .bash_profile - открывает ваш bash_profile в Vim.
    • Я включил список команд VIM, которые вам, вероятно, понадобятся для редактирования вашего .bash_profile ниже.

  • export JAVA_HOME=$(/usr/libexec/java_home) - создает ENV_VAR (переменную среды) и устанавливает/сохраняет домашний путь JDK в (/usr/libexec/java_home).
  • Выйдите из vim и наберите следующее в терминале *
  • source .bash_profile - загружает и запускает ваш обновленный bash_profile
  • echo $JAVA_HOME - возвращает значение, сохраненное в ENV_VAR JAVA_HOME, который является домашним путем вашей установки JDK.

Команды VIM:

Vim - это редактор для создания или редактирования текстового файла. В vim есть два режима.

  • Command Mode: user can move around the file, delete text, etc.

  • Insert Mode: user can insert text.

Переключение между режимами:

Command mode to Insert mode

  • введите соответствующую букву для действия, которое вы хотите (a, A, i, I, o, O) - подробности для букв ниже.

Insert mode to Command mode

  • нажмите клавишу Esc (клавишу выхода)

Команды ввода текста (используются для начала ввода текста)

  • a - добавить текст после текущей позиции курсора

  • A - добавить текст в конец текущей строки

  • i - вставить текст перед текущей позицией курсора

  • Я - вставить текст в начале строки курсора

  • o - открыть новую строку после текущей строки и добавить туда текст

  • O - открыть новую строку перед текущей строкой и добавить туда текст

Команды перемещения курсора (используются только в режиме команд.)

  • h - перемещает курсор на один символ влево

  • l - перемещает курсор на один символ вправо

  • k - перемещает курсор на одну строку вверх

  • j - перемещает курсор на одну строку вниз

  • nG или: n - курсор переходит на указанную (n) строку

  • (ex. 10G goes to line 10)

  • $ - переместить курсор в конец текущей строки

  • 0 0 - (ноль) Переместить курсор в начало текущей строки

  • w -- Forward one word

  • b -- Backward one word

Команды выхода

  • : wq - записать файл на диск и выйти из редактора

  • :q! -- Quit (no warning)

  • : q - Выход (предупреждение выводится, если измененный файл не был сохранен)

  • ZZ - сохранить рабочее пространство и выйти из редактора (так же, как: wq)

Команды редактора VIM - полный список

Ответ 3

Пустое значение команды echo означает, что значение не было установлено правильно, как вы ожидали. Вы можете попробовать создать/редактировать файл ~/.profile, добавив строки примерно так:

vi ~/.profile
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home  

если вам еще не нравится редактор vi, вы также можете создать этот файл в своем домашнем каталоге с помощью программы TextEdit на Mac.  и выполните

source ~/.profile

При загрузке будет установлено свойство JAVA_HOME. Затем вы можете попробовать выполнить echo $JAVA_HOME чтобы проверить, правильно ли он настроен, как вы ожидаете.

Вам также может потребоваться установить переменную среды PATH как-то вроде:

export PATH=PATH:$JAVA_HOME/bin

Ответ 4

Измените /etc/launchd.conf в текстовом редакторе. Если он не существует, создайте его.

Затем добавьте следующую строку в файл: setenv JAVA_HOME /path/to/java/installation

ИЛИ

просто введите следующую команду в терминале
sudo echo setenv JAVA_HOME /path/to/java/installation >> /etc/launchd.conf Затем просто введите свой пароль, когда он предложит.

Теперь перезагрузите компьютер и изменения должны были произойти.

Примечание:
 Я даю вам совет, основанный на моем опыте работы в Linux. Но они должны MAC также.

Источник

Ответ 5

Это не относится к новым установкам JDK. По словам Apple: - вы не должны устанавливать его глобально - вы должны использовать libexec

http://lists.apple.com/archives/java-dev/2011/May/msg00040.html

Вы можете подумать, что:

$cat/etc/launchd.conf setenv JAVA_HOME /usr/libexec/java_home

будет работать, но нет, он устанавливает его буквально.

Но, как я уже сказал, согласно этому Apple Engineer, вы все равно не должны устанавливать его глобально.: (

Ответ 6

У меня была эта проблема после установки JAVA_HOME с помощью jenv. Вы можете решить проблему, отредактировав файл

/Applications/Eclipse.app/Contents/Info.plist

Просто установите путь к вашей версии Java, раскомментировав/отредактировав соответствующую часть файла. Для AdoptOpenJDK, установленного с homebrew, это выглядит так:

<key>Eclipse</key>
<array>
    <string>-vm</string><string>/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin/java</string>
    <!-- to use a specific Java version (instead of the platform default) uncomment one of the following options,
                   or add a VM found via $/usr/libexec/java_home -V
        <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>
        <string>-vm</string><string>/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home/bin/java</string>
    -->
        <string>-keyring</string>
    <string>~/.eclipse_keyring</string>
</array>