Maven无法找到javadoc命令

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观点是正确的。因此,该解决方案对我不起作用。

Ole*_*syn 8

对于 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)


mis*_*der 5

我在Java 9.0.4和macOs中遇到了同样的问题,并且在javadoc插件中添加以下配置为我解决了此问题

  <configuration>
     .....
     <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
  </configuration>
Run Code Online (Sandbox Code Playgroud)

  • 哇,那是胡说八道。当错误消息说要确保“JAVA_HOME”设置正确(确实如此!)并且您仍然需要修改库之一中的“.pom”文件时...... grrr。无论如何,您的答案在 Ubuntu 上也对我有用。谢谢! (3认同)