2012-12-19 7 views
19

Ich lief diesen Befehl in meinem Projektverzeichnis zu erstellen und verpacken:kann nicht javadoc Befehl finden - Maven

mvn clean javadoc:jar package 

Ich habe meine JAVA_HOME Variable richtig eingestellt ist. Offensichtlich:

$ 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 

Weiß jemand, warum mvn noch beschwert?

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

Was bekommen Sie mit mvn -v –

+2

Was sagt 'echo $ JAVA_HOME'? – Raghuram

+0

Es ist nur leer! – user1508893

Antwort

38

eine korrekte which java ist nicht Beweis genug, da /usr/bin/ wahrscheinlich in Ihrem PATH sowieso sein wird. Überprüfen

$ echo $JAVA_HOME 

für Beweise. Oder laufen

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

Unter OS X können Sie einstellen, Ihre JAVA_HOME über:

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

die auf meinem Rechner zeigt auf

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

Ich glaube nicht, dass ich ein Java-Home-Paket per se habe. Dies ist auf dem Mac, und wenn ich 'ls -l' auf' \ usr \ bin \ java', das ist das 'java', das ausgeführt wird, sehe ich, dass' java' Links zu diesem: '/ System/Library/Frameworks/JavaVM.framework/Versionen/Current/Commands/java', das ist eine einzelne ausführbare Datei! – user1508893

+0

@ user1508893: Ich habe meine Antwort mit OS X-Besonderheiten aktualisiert. – miku

+2

ist es egal, dass Sie Java in Ihrem Weg haben ...Um die JDK-Tools zu verwenden, müssen Sie JAVA_HOME auf ein JDK setzen. Wenn/usr/bin/java auf /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java zeigt, bedeutet das nicht, dass Sie sogar ein JDK installiert haben ... vielleicht haben Sie einfach ein JRE (die javadoc nicht enthält) –

0

Sie dies in Maven für OSX Fest 3.1 indem Sie "export JAVA_HOME" in das Shell-Skript "bin/mvn" einfügen, so dass Sie JAVA_HOME nicht mehr extern festlegen müssen, nur um javadoc zu finden.

+0

Export JAVA_HOME = $ (/ usr/libexec/java_home -v 1.8) Mit MVN 3.5.2 funktionierte das für mich. Ich musste es auch in mvnyjp und mvnDebug setzen. –

4

Nach 2-3 Stunden der Zeit fühlte ich, Eclipse über die Befehlszeile zu öffnen, sieht am einfachsten Lösung. unten beschriebenen Schritte folgen,

cd <Folder_where_Eclipse.app> open Eclipse.app

Jetzt ist Ihre Eclipse die Terminal-Umgebungsvariablen finden können.

+1

Danke. Das hat funktioniert. Ich hatte keine Zeit und diese Arbeit funktionierte gut. Ich bin sicher, die anderen Kommentare sind so gut, aber für eine schnelle Abhilfe war das großartig. – Beezer

5

Sie können JAVA_HOME als Umgebungsvariable in Eclipse hinzufügen.

Gehen Sie zu Ihrem Maven Build-> fügen Sie Folgendes hinzu.

Klicken Sie Neu->

Name: JAVA_HOME

Wert: Ihr Weg hier.

enter image description here

Dieser arbeitete für mich!

Verwandte Themen