2014-10-29 42 views
1

用這個打我的頭在牆上。使用Mac 10.10和我的Java的版本的作品,但MVN -version給我Maven即使設置了它也找不到Java

error: JAVA_HOME is not defined correctly. We cannot execute /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java

這不是連我正確的JDK。這裏是我的bash_profile的樣子:export

export JAVA_HOME=/Library/Java/JavaVirtualMachine/jdk1.8.0_25.jdk/Contents/Home 

export M2_HOME=/usr/local/apache-maven/apache-maven-3.2.3 
export M2=$M2_HOME/bin 
export MAVEN_OPTS=-Xms256m-Xmx512m 
export PATH=$M2:$PATH 
+0

嘗試更改路徑條目訂購 – Basilevs 2014-10-30 04:13:56

+0

感謝。試過,並沒有奏效。 – horatio1701d 2014-10-30 15:28:55

+0

發現此解決方案: http://stackoverflow.com/questions/26661734/maven-not-recognizing-java-home-being-set-in-bash-profile?noredirect=1#comment42086840_26661734 – horatio1701d 2014-11-06 00:46:24

回答

1

當我碰到這個。我需要重新啓動終端應用程序。爲它拿起新的bash_profile變化。

+0

謝謝。試了幾次,沒有效果。 – horatio1701d 2014-10-30 00:04:01

0

這是(可能),因爲iOS安裝了默認的Java,並且您擁有自己下載的另一個Java VM。

試試這個,而不是定義java home,讓操作系統使用安裝的那個。在您的個人資料或外殼腳本中,請執行此操作

export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 

或者您正在使用的任何Java版本。例如,如果您具備Java 6和7安裝,那麼在運行

export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 

會選擇Java 7,而

export JAVA_HOME=`/usr/libexec/java_home -v 1.6` 

將讓你使用Java 6

注意背部蜱。

+0

謝謝。這沒有用。絕對看起來像是操作系統衝突,但我無法追查到它。很多帖子也說要嘗試'$(/ usr/libexec/java_home)',但這也不起作用。 – horatio1701d 2014-10-30 00:42:11

+0

在命令行中執行Terminal.app中的上述命令之一,然後立即執行'mvn'。如果這不起作用,那麼你的java安裝或者你的環境中的其他東西就會被洗掉。 – 2014-10-30 03:53:45

-1

請檢查mvn.sh腳本,確保您沒有在其中設置JAVA_HOME。或者重新下載maven軟件包並解壓縮。
並檢查/etc/launchd.conf,你有沒有在其中設置一個JAVA_HOME?

+0

謝謝。沒有在mvn.sh中硬編碼任何東西,也沒有launchd.conf文件。 – horatio1701d 2014-10-30 15:29:51

+0

你可以重新啓動終端並回顯$ JAVA_HOME來檢查它嗎? – sanigo 2014-10-31 01:32:57

-1

安裝Maven在MAC/Linux操作系統(MAC你的情況),應跟隨這http://maven.apache.org/download.cgi部分:基於Unix的操作系統(Linux,Solaris和Mac OS X上)

如果您的默認終端bash(echo $SHELL會輸出類似於:/ bin/bash) 運行echo $JAVA_HOME先運行mvn。

isaacdong-imac:~ isaac$ echo $SHELL /bin/bash 
isaacdong-imac:~ isaac$ 
echo $JAVA_HOME 
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home 
isaacdong-imac:~ isaac$ 

如果你的JAVA_HOME是空的,請注意這一點:shell進程 export命令只當前ENV。當你打開一個新的shell或重新啓動mac。出口效應消失了。

看到這一點:Set environment variables on Mac OS X Lion

+0

請不要猜測。沒有mvn.sh這樣的文件 – 2014-10-30 02:41:52

+0

謝謝。我有bash和$ JAVA_HOME顯示我正確的jdk路徑。但是mvn -version仍然顯示'我們不能執行/ Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java'這甚至不是我不正確的jdk。 – horatio1701d 2014-10-30 15:33:27

+0

* export MAVEN_OPTS = -Xms256m-Xmx512m *必須改爲* export MAVEN_OPTS =「 - Xms256m -Xmx512m」* – isaac 2014-11-03 01:30:36

相關問題