Search code examples
macosmavenjavadoc

Unable to find javadoc command - maven


I ran this command in my project directory to build and package it:

mvn clean javadoc:jar package

I do have my JAVA_HOME variable set correctly. Evidently:

$ 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

Does anyone know why mvn still complains?

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]

Solution

  • A correct which java is not evidence enough, since /usr/bin/ will likely be in your PATH anyway. Check

    $ echo $JAVA_HOME
    

    for evidence. Or run

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

    On OS X you can set your JAVA_HOME via:

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

    which on my machine points to

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