Maven JavaDoc 列出了两次类

Posted

技术标签:

【中文标题】Maven JavaDoc 列出了两次类【英文标题】:Maven JavaDoc listed classes twice 【发布时间】:2021-11-18 01:05:30 【问题描述】:

我正在使用 javadoc maven 插件,它创建了正确的 javadoc 包,但所有类都创建了两次。

Maven 依赖:

        <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.3.0</version>
    </dependency>

我的构建代码

<build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

谁能帮帮我,我在这里缺少什么?

文档生成的命令用法

mvn clean install -Dresources="FirstProject/example_API"

【问题讨论】:

第一个问题:为什么要用maven插件作为依赖? (maven-surefire-pugin)?没有意义...此外,拥有 github 或类似项目以及您如何调用 Maven 会有所帮助? 更新了!之前提到的错误依赖。第二次更新的 Maven 命令。 您可能遇到此问题的一个原因是您使用的 Java 版本。如果使用 Java 1.8 Corretto,似乎可能会发生此问题。我在本地检查了它,确实在我使用它时 Javadoc 被复制了(这在此对话的 cmets 中也提到了***.com/questions/27843475/…)。 【参考方案1】:

在 maven-javadoc-plugin maven 插件上启用调试并查看它在做什么后,我注意到了同样的问题并找到了解决方案。如下所示专门设置源路径为我解决了双重列表问题,我已经在多个版本的 Corretto 8 和 Temurin 8 上尝试过这个问题。所有人都有双重列表问题,因为这是 javadoc 工具本身的问题,但设置sourcepath 为我手动修复了它。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>3.3.1</version>
    <configuration>
        <debug>true</debug>
        <sourcepath>$basedir/src/main/java</sourcepath>
    </configuration>
    <executions>
        <execution>
            <id>attach-javadocs</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

【讨论】:

谢谢,它对我有用...很棒的解决方案:)

以上是关于Maven JavaDoc 列出了两次类的主要内容,如果未能解决你的问题,请参考以下文章

C# MySqlException:表不存在 - 数据库名称列出了两次

maven项目中junit测试同一方法, 运行一次却重复执行了两次?

Hudson 和 Maven 测试运行两次

将 jar 包发布到Maven中央仓库

Maven Javadoc 插件 javadoc-bundle-options

如何在 Maven Javadoc 插件中禁用 Javadoc 警告?