====== EDIT 2:МВН: Мы не можем выполнить/USR/libexec/java_home/bin/Java
Я использовал тот же код, указанный ниже в редактировании 1, моя ошибка, по-видимому был не в самом коде, а из-за источника ~/.bash_profile, не обновляющего мой файл, как ожидалось. Я думаю, однако (спасибо @eckes), пожалуйста, см. Ошибку maven :(BTW: jira.codehaus.org/browse/MNG-5686 - eckes 39 secs назад)
EDIT 1: это не дубликат: What should I set JAVA_HOME to on OSX
Я пробовал все решения, упомянутые в вышеприведенном сообщении, и они не работают для меня. Моя проблема в том, что я делаю одно из решений, перечисленных здесь (я пробовал другие). Я все еще получаю ошибку.
В настоящее время я пытаюсь согласно инструкциям выше:
export JAVA_HOME=$(/usr/libexec/java_home)
и получать:
source ~/.bash_profile
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
======= Я установил последнюю версию Java JDK от оракула
java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Я установил Xcode для установки maven, однако в недавней документации указано, что я могу использовать квас (Maven Install on Mac OS X)
Я установил Maven с:
//install brew
brew doctor
brew install maven
Затем я попробовал:
mvn -version
Error: JAVA_HOME is not defined correctly.
я нашел: http://hathaway.cc/post/69201163472/how-to-edit-your-path-environment-variables-on-mac
Однако это основано на Java 7 Я считаю. Но, похоже, это было исправление.
Там нет bash_profile на новом макинтоше (https://apple.stackexchange.com/questions/26928/no-bash-profile-in-os-x-lion)
Так что я создал и редактировал мой bash_profile с:
touch ~/.bash_profile
vim ~/.bash_profile
//and added the line export JAVA_HOME=(/usr/libexec/java_home)
Моя проблема заключается в том, что даже с этим исправлением я все еще получаю следующее сообщение об ошибке :
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
Я проверил, однако, что в моей файловой системе java_home находится там, где находится файл. В моей файловой системе нет «/ usr/libexec/java_home/bin/java» как ошибка maven.
Неужели кто-то еще столкнулся с этим с новой java 8 и заварил установленный maven? Я использую MacBook Pro (Retina, 13 дюймов, середина 2014 года), работающий на Yosemite. Я уже установил такую установку, но никогда не сталкивался с этой проблемой.
** Примечание:
Я нашел это: http://www.mkyong.com/java/maven-java_home-is-not-defined-correctly-on-mac-osx/
который я думал, что, несомненно, будет мое исправление. Исправьте меня, если я ошибаюсь, но я считаю, что разница - это скобки.
Ex:
export JAVA_HOME=/usr/libexec/java_home
против
export JAVA_HOME=(/usr/libexec/java_home)
Однако не было зафиксировано моя ошибка. (Также на всякий случай, если кто-нибудь спросит, откуда я его изложил, прежде чем перезапускать.) Однако он изменил мою ошибку. Он удалил дополнительный/bin/java.
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
JAVA_HOME:
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
** внимание я попробовал синтаксис $(), и это не исправить эту проблему.
Вы вставляли пробелы в 'export JAVA_HOME =/usr/libexec/java_home'? Можете ли вы открыть окно терминала и выполнить 'echo $ JAVA_HOME', и сообщить нам результат? – RealSkeptic
echo $ JAVA_HOME /usr/libexec/java_home. Нет пробелов. это JAVA_HOME = (/ usr /.../ java_home) – Tai
Я предполагаю, что в ваших источниках был потерян синтаксис оболочки backtick (заменяющий значение выходом команды). $() Является альтернативным синтаксисом: 'JAVA_HOME = \' java_home \ '' – eckes