【问题标题】:maven-javadoc-plugin not accepting <additionalparam>-Xdoclint:none</additionalparam>maven-javadoc-plugin 不接受 <additionalparam>-Xdoclint:none</additionalparam>
【发布时间】:2019-03-03 23:27:48
【问题描述】:

由于未创建 javadocs,mvn release:perform 失败。所以我尝试运行

mvn javadoc:javadoc

我自己和我看到它失败是因为源代码中的 javadoc cmets 没有定义所有参数和返回值。错误的格式为:

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 中)说参数不是附加参数或附加参数,而是附加选项和附加 JOptions。见maven-javadoc-plugin documentation

当我搜索参数additionalParam 时,它没有出现。我很困惑这怎么可能奏效。搜索一些人说使用我正在使用的答案,其他人说使用附加JOption。见Maven is not working in Java 8 when Javadoc tags are incomplete

我该如何解决?

对导致问题的原因以及如何解决问题有任何想法吗?

我尝试过的

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

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

Kudo 致 code.i-harness.com posting,它给了我这项工作。

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

有用的搜索

在 SO 上搜索会得到这些有用的匹配结果:

【问题讨论】:

    标签: maven maven-javadoc-plugin


    【解决方案1】:

    您应该改用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(页面底部)中找到有关组的详细说明。

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 2019-12-27
      • 1970-01-01
      • 2021-03-09
      • 2012-09-18
      • 1970-01-01
      • 2016-07-27
      • 2016-12-07
      • 1970-01-01
      相关资源
      最近更新 更多