由于未创建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中)说该参数不是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使我可以解决这个问题。
所以我已经解决了最初的问题,但是想要/需要清理pom来删除无用的参数,或者将它们更改为新的/正确的语法(尚未测试)。
在SO上进行搜索会给出以下有用的匹配:
How can I disable the Maven Javadoc plugin from the command line?-给我一个搜索maven.javadoc.skip的想法,这有助于我找到工作所在的地方。
Maven is not working in Java 8 when Javadoc tags are incomplete,它表示我应该使用additionalJOption
参数。相同的问题有一个答案,说要使用我正在使用的<additionalparam>-Xdoclint:none</additionalparam>
答案 0 :(得分: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(在页面底部)中找到这些组的详细说明。