J'ai lancé cette commande dans le répertoire de mon projet pour la construire et la conditionner:
mvn clean javadoc:jar package
J'ai ma variable Java_HOME
correctement définie . Évidemment:
$ 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
Est-ce que quelqu'un sait pourquoi MVN se plaint toujours?
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]
Un which Java
correct n'est pas une preuve suffisante, car /usr/bin/
sera probablement dans votre PATH
de toute façon. Vérifier
$ echo $Java_HOME
pour preuve. Ou courir
$ Java_HOME=/path/to/your/Java/home mvn clean javadoc:jar package
Sous OS X, vous pouvez définir votre Java_HOME
via:
$ export Java_HOME=$(/usr/libexec/Java_home)
qui sur ma machine pointe vers
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Après avoir passé 2 à 3 heures de temps, j'ai eu l'impression qu'ouvrir Eclipse via une ligne de commande semblait la solution la plus simple… .. Suivez les étapes ci-dessous,
cd <Folder_where_Eclipse.app>
open Eclipse.app
Votre Eclipse peut maintenant trouver les variables d’environnement terminal.
Vous pouvez lui faire utiliser la propriété système Java.home au lieu de la variable d'environnement Java_HOME:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<javadocExecutable>${Java.home}/bin/javadoc</javadocExecutable>
</configuration>
</plugin>
Source de l'idée: https://medium.com/@kankvish/fixing-issue-the-environment-variable-Java-home-is-not-correctly-set-b5f0b66a84d0
Ils ont résolu ce problème pour OSX dans Maven 3.1 en ajoutant "export Java_HOME" au script shell "bin/mvn", ce qui évitait de devoir définir Java_HOME en externe vous-même, juste pour trouver javadoc.