maven-javadoc-plugin not accept <additionalparam>-Xdoclint:none</additionalparam>



由于未创建javadocs,mvn release:perform失败。 所以我试着跑步

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 中(说该参数不是 extraalParam,也不是 extraalparam,而是 extraalOptions 和 extraalJOptions。 请参阅 maven-javadoc-plugin 文档。

当我搜索参数时 附加参数参数,它没有出现。 我很困惑这是怎么回事。 寻找答案,有些人说使用我正在使用的东西,其他人说使用额外的JOption。 请参阅 当 Javadoc 标签不完整时,Maven 在 Java 8 中不起作用。

我该如何解决它?

关于导致问题的原因以及如何解决它的任何想法?

我尝试过什么

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

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

Kudo的 code.i-harness.com 帖子给了我这个工作。

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

有用的搜索

在 SO 上搜索会给出以下有用的点击:

  • 如何从命令行禁用 Maven Javadoc 插件? - 给了我搜索maven.javadoc.skip的想法,这帮助我找到了我的工作。

  • 当Javadoc标签不完整时,Maven在Java 8中不起作用,这说明我应该使用additionalJOption参数。 同样的问题有一个答案,说使用我正在使用的东西<additionalparam>-Xdoclint:none</additionalparam>

您应该改用 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 文档(位于页面底部(。

最新更新