maven-javadoc-plugin 不接受 <additionalparam>-Xdoclint :none</additionalparam>

标签 maven maven-javadoc-plugin

一个mvn release:perform由于未创建 javadoc 而失败。所以我尝试运行

mvn javadoc:javadoc

我和我发现它失败是因为源代码中的 javadoc 注释没有所有参数和返回值的定义。错误的格式如下:

Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:jar (attach-javadocs) on project my-project: MavenReportException: Error while generating Javadoc:

Exit code: 1 - /my/file.java:36: warning: no description for @return

然而,这曾经有效。那么发生了什么变化?

我检查了maven-javadoc-plugin文档,它现在(在v3.0中)说参数不是additionalParam或additionalparam,而是additionalOptions和additionalJOptions。请参阅maven-javadoc-plugin documentation .

当我搜索参数additionalParam时,它没有出现。我很困惑这怎么行得通。寻找答案,有些人说使用我正在使用的东西,其他人说使用additionalJOption。请参阅Maven is not working in Java 8 when Javadoc tags are incomplete .

如何修复它?

关于导致问题的原因以及如何解决它有什么想法吗?

我尝试过的

幸运的是,我找到了一个解决方法,即从命令行禁用 Javadoc linting:

mvn release:perform -Darugments="-Dmaven.javadoc.skip=true"

工藤致 code.i-harness.com posting这给了我这个解决办法。

所以我已经解决了最初的问题,但想要/需要清理 poms 以删除无用的参数,或将它们更改为新的/正确的语法(尚未测试)。

有用的搜索

搜索 SO 会得到这些有用的结果:

最佳答案

您应该使用doclint选项:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>3.0.1</version>
    <configuration>
        <doclint>none</doclint>
    </configuration>
</plugin>

这将跳过所有检查。一般来说,我建议运行除缺少 @return 和 @param 之外的所有检查。因此,您可以使用:

,而不是none
        <doclint>all,-missing</doclint>

可以打开或关闭单独的检查组(如上面的-missing)。有关组的详细说明可以在 javadoc documentation 中找到。 (在页面底部)。

关于maven-javadoc-plugin 不接受 <additionalparam>-Xdoclint :none</additionalparam>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52547306/

相关文章:

java - 我如何告诉 Maven Artifact 已重命名?

maven - Intellij maven 选项 - 它们之间有什么区别

java - Jenkins 将浏览器 URL 作为 Maven Selenium Java 测试的参数传递

java - 是什么导致 maven-javadoc-plugin 目标 test-javadoc 因错误而失败,但 test-javadoc-no-fork 只是发出警告

maven - 如何从 Maven 多模块项目中的 Javadoc 生成中排除单个模块?

java - 多线程套接字服务器通过消息关闭Java

java - 将 WAR 打包到 JBoss SAR 中

生成包时显示 Javadoc 警告

java - Maven 站点(Maven 3)生成空站点文件夹

maven - 尽管有明确的插件和 pluginManagement 版本,为什么 Maven 使用了错误的插件?