amo*_*one 6 java javadoc maven
我正在尝试运行maven verify
命令,但出现此错误。
MavenReportException: Error while generating Javadoc: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set.
Run Code Online (Sandbox Code Playgroud)
Maven找不到javadoc
命令,因此无法创建文档。
有趣的是,我可以运行该mvn javadoc:jar
命令,并且可以成功运行。除了我JAVA_HOME
,指向正确的位置。
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
这是来自pom文件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadoc</id>
<phase>verify</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
请不要告诉我这是无法找到javadoc命令-maven的问题的重复。我知道问题是相同的,但我们的情况有所不同,我的JAVA_HOME
观点是正确的。因此,该解决方案对我不起作用。
对于 JDK 版本 1.8、9、11、12、14、15、16、17:
<build>
<plugins>
<!-- ... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<!--<version>3.2.0</version>-->
<configuration>
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
<!--<doclint>none</doclint>-->
</configuration>
</plugin>
<!-- ... -->
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
我在Java 9.0.4和macOs中遇到了同样的问题,并且在javadoc插件中添加以下配置为我解决了此问题
<configuration>
.....
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
Run Code Online (Sandbox Code Playgroud)