2012-12-19 73 views
19

我在項目目錄運行此命令來構建和打包:無法找到javadoc的命令 - 行家

mvn clean javadoc:jar package 

我有我的JAVA_HOME變量設置正確。 顯然:

$ which java 
/usr/bin/java 
$ sudo ls -l /usr/bin/java 
lrwxr-xr-x 1 root wheel 74 Dec 18 23:42 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 

$ which javadoc 
/usr/bin/javadoc 

有沒有人知道爲什麼mvn仍然抱怨?

Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8:jar (default-cli) on project foo_bar: MavenReportException: Error while creating archive: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set. -> [Help 1] 
+0

你用mvn獲得什麼-v –

+2

echo $ JAVA_HOME是什麼意思? – Raghuram

+0

它只是空的! – user1508893

回答

38

正確的which java沒有足夠的證據,因爲/usr/bin/可能會在你的PATH反正。檢查

$ echo $JAVA_HOME 

作爲證據。或運行

$ JAVA_HOME=/path/to/your/java/home mvn clean javadoc:jar package 

在OS X上你可以設置你JAVA_HOME通過:

$ export JAVA_HOME=$(/usr/libexec/java_home) 

這在我的機器點

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
+0

我不認爲我本身有一個java-home包。這是在Mac上,當我在'\ usr \ bin \ java'上執行'ls -l'(這是正在運行的java)時,我看到'java'鏈接到這個:'/ System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java',這是一個單一的可執行文件! – user1508893

+0

@ user1508893:我用OS X細節更新了我的答案。 – miku

+2

它沒關係,你在你的路徑中有java ...爲了使用JDK工具,您需要將JAVA_HOME設置爲JDK。/usr/bin/java指向/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java它本身並不*甚至*表示你已經安裝了JDK ......也許你只是有一個JRE(不包括javadoc) –

0

他們Maven的3.1解決了這個問題的OSX通過將「export JAVA_HOME」添加到「bin/mvn」shell腳本中,避免了需要自行設置JAVA_HOME來查找javadoc。

+0

export JAVA_HOME = $(/ usr/libexec/java_home -v 1.8) 隨着MVN 3.5.2的這個爲我工作。 我不得不把它放在mvnyjp和mvnDebug中。 –

4

花費2-3個小時後,我覺得通過命令行打開Eclipse看起來是最簡單的解決方案。 按照以下步驟,

cd <Folder_where_Eclipse.app> open Eclipse.app

現在,您的Eclipse可以找到終端環境變量。

+1

謝謝。這工作。我沒有時間,這項工作很好。我相信其他評論是一樣的好,但對於快速的解決方法,這是很好的。 – Beezer

5

您可以在eclipse中將JAVA_HOME添加爲環境變量。

轉到你的maven構建 - >添加以下內容。

點擊新建 - >

名稱:JAVA_HOME

價值:在這裏你的路徑。

enter image description here

這爲我工作!

相關問題