2013-03-04 45 views
1

我JAVA_HOME不工作正確設置爲/usr/local/java/jdk1.7.0_01MVN發佈:準備使用Maven 3

$echo $JAVA_HOME 
/usr/local/java/jdk1.7.0_01 

$sudo update-alternatives --config java 

There are 3 choices for the alternative java (providing /usr/bin/java). 

    Selection Path           Priority Status 
------------------------------------------------------------ 
    0   /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061  auto mode 
    1   /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061  manual mode 
* 2   /usr/local/java/jdk1.7.0_01/bin/java    1   manual mode 
    3   /usr/local/java/jre1.7.0_01/bin/java    1   manual mode 

我使用MVN發佈:準備插件生產git的標籤和翻轉項目在POM版本。 XML。它完美的作品,如果我用maven 2.2.1當我用maven 3.0.4,我得到:

[INFO] Error: JAVA_HOME is not defined correctly. 
[INFO] We cannot execute /usr/local/java/jdk1.7.0_01/bin/java/bin/java 

我猜有可能是行家3個bug,當它運行時,它試圖追加/bin/java兩次我的JAVA_HOME。

+0

你確定你沒有將路徑設置爲bin目錄?或者在你的JAVA_HOME中有沒有bin目錄? – ant 2013-03-04 15:07:50

+0

@ant echo $ JAVA_HOME顯示正確。 – Shengjie 2013-03-04 15:11:34

回答

2

嘗試使用標準的Oracle/Sun JDK,如果這是一個選項的話。我之前在Debian/Ubuntu上已經打過這個。我從來沒有耐心找出OpenJDK出了什麼問題,但它並沒有很好地處理Maven。或者......至少......這是我的觀察。

+0

我正在使用oracle JDK。切換回Maven 2.2,完美工作:( – Shengjie 2013-03-05 10:49:41

+0

向我們展示'echo $ JAVA_HOME && echo $ PATH && which which java && java -version'的輸出。 – carlspring 2013-03-05 11:26:05

+0

同時顯示'ls -al $ JAVA_HOME && ls -al \ '哪個java \'' – carlspring 2013-03-06 11:25:22

2

JAVA_HOME必須指向JRE,然後設置:

export JAVA_HOME=/usr/local/java/jdk1.7.0_01/jre 
0

搜索JAVA_HOME在MVN命令文件(使用which mvn找到它)。 如果還沒有定義,Mine會處理JAVA_HOME。

因此,也許你能避開它通過unset JAVA_HOME