如何在 Maven Javadoc 插件中禁用 Javadoc 警告?
Posted
技术标签:
【中文标题】如何在 Maven Javadoc 插件中禁用 Javadoc 警告?【英文标题】:How to disable Javadoc warnings in Maven Javadoc Plugin? 【发布时间】:2017-01-29 16:36:02 【问题描述】:我正在使用 Maven Javadoc 插件。它输出警告如下:
[ERROR] /home/monperrus/spoon/src/main/java/spoon/visitor/CtVisitor.java:144:
warning: no @param for <T>
如何将这些警告显示为[WARNING]
(而不是令人困惑的[ERROR]
)?
【问题讨论】:
Maven is not working in Java 8 when Javadoc tags are incomplete的可能重复 如果对@Martin 有帮助,请记得接受答案。 【参考方案1】:编译所有答案并添加其他内容,我们有以下内容。
要配置 maven 项目,您应该将其添加到 pom 文件中:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</plugin>
</plugins>
对于 Maven 2.9+,您需要 additionalJOption
,在此之前您需要 additionalparam
。您可以在 Maven 2.9+ 上使用 additionalparam
,因为它不会导致错误,但不会使其工作。我没有在早期版本的 maven 上测试过 additionalJOption
。
要从命令行配置它,你应该传递这个参数:
mvn <goals> -Dadditionalparam=-Xdoclint:none -DadditionalJOption=-Xdoclint:none
要在你的 shell 环境中配置它,以便它每次都适用于每个项目,而你不需要做任何其他事情,将此行添加到你的 shell 初始化中(~/.bashrc
或在 Mac 上~/.bash_profile
,或者你的 shell 使用的其他任何东西):
export JAVA_TOOL_OPTIONS="-Dadditionalparam=-Xdoclint:none -DadditionalJOption=-Xdoclint:none"
或者,如果您有 JAVA_TOOL_OPTIONS
,请将这些参数附加到它。
【讨论】:
【参考方案2】:从 v3.0.0 开始,添加了新的 doclint
配置选项来配置文档 linting。这可用于抑制这些警告。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<doclint>none</doclint> <!-- Turnoff all checks -->
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
对于
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam> <!-- Turnoff all checks -->
</configuration>
<!-- executions.... -->
</plugin>
</plugins>
【讨论】:
【参考方案3】:maven-javadoc-plugin 2.9 版以后,设置附加参数,似乎不起作用。需要设置的新选项是 additionalJOption(请参阅documentation)。这里有一个例子:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</plugin>
请注意,警告仍会显示在控制台中,但不会带有令人困惑的“[ERROR]”前缀。
还要注意,根据maven-javadoc-plugin
的代码,如果至少有一个Javadoc 错误,所有日志行都将以[ERROR]
为前缀。
【讨论】:
【参考方案4】:如何将这些警告显示为 [WARNING](而不是令人困惑的 [ERROR])?如何在 Maven 中完全禁用 Javadoc 警告?
如果您谈论的是 Java 8 中引入的 javadoc lint 警告,那么您应该能够执行以下操作。根据您使用的 javadoc 插件的版本,有多种指定参数的方法。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<additionalOptions>-Xdoclint:none</additionalOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</plugin>
</plugins>
看到这个good discussion about turning off doclint。
如果您只是想摆脱缺少的 jacadocs 警告,那么您可以使用:
<configuration>
<additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
<additionalOptions>-Xdoclint:all -Xdoclint:-missing</additionalOptions>
<additionalJOptions>
<additionalJOption>-Xdoclint:all</additionalJOption>
<additionalJOption>-Xdoclint:-missing</additionalJOption>
</additionalJOptions>
</configuration>
【讨论】:
【参考方案5】:从maven-javadoc-plugin
3.0.0 版开始,您可以使用doclint
配置参数。如果您只想禁用“丢失”警告,请使用all,-missing
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<doclint>all,-missing</doclint>
</configuration>
</plugin>
欲了解更多信息,请参阅the doclint
parameter documentation。
【讨论】:
【参考方案6】:您也可以从命令行禁用它,以防您只想在本地抑制而不是编码。
mvn clean install -Dadditionalparam=-Xdoclint:none
正如 Spring Monkey 指出的那样,在较新的版本中,您可能必须将其传递为
mvn clean install -DadditionalJOption=-Xdoclint:none
【讨论】:
将-DadditionalJOption=-Xdoclint:none
选项传递给mvn
对我有用。
也可以在mvn
命令行中添加-Ddoclint=none
maven.apache.org/plugins/maven-javadoc-plugin/…以上是关于如何在 Maven Javadoc 插件中禁用 Javadoc 警告?的主要内容,如果未能解决你的问题,请参考以下文章