如何在Maven Javadoc插件中禁用Javadoc警告?

34

我正在使用Maven Javadoc插件,它会输出以下警告:

[ERROR] /home/monperrus/spoon/src/main/java/spoon/visitor/CtVisitor.java:144:
      warning: no @param for <T>
如何不显示这些警告?

1
可能是[Maven在Javadoc标签不完整时无法在Java 8中工作]的重复问题(https://dev59.com/LWUo5IYBdhLWcg3woAuu)。 - BalusC
记得如果Martin的回答有帮助,请接受它。 - Gray
6个回答

26

自从maven-javadoc-plugin的3.0.0版本起,您可以使用doclint配置参数。如果您只想禁用“missing”警告,请使用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>

了解更多信息,请参阅 doclint参数文档


23

如何将警告显示为[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>

参见关闭doclint的好讨论

如果你只是想消除缺少javadoc警告,那么可以使用:

<configuration>
   <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
   <additionalOptions>-Xdoclint:all -Xdoclint:-missing</additionalOptions>
   <additionalJOptions>
     <additionalJOption>-Xdoclint:all</additionalJOption>
     <additionalJOption>-Xdoclint:-missing</additionalJOption>
   </additionalJOptions>
</configuration>

20

maven-javadoc-plugin 2.9版本及以后,设置additionalparam似乎不起作用了。需要设置的新选项是additionalJOption(请参见文档)。以下是一个示例:

<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]为前缀。


12

如果你只是想将其在本地禁用而不是编码,也可以通过命令行禁用它。

mvn clean install -Dadditionalparam=-Xdoclint:none

正如Spring Monkey所指出的那样,在更新的版本中,您可能需要将其作为参数传递

mvn clean install -DadditionalJOption=-Xdoclint:none

-DadditionalJOption=-Xdoclint:none选项传递给mvn对我有用。 - haridsv
2
你也可以在mvn命令行中添加-Ddoclint=none https://maven.apache.org/plugins/maven-javadoc-plugin/aggregate-mojo.html#doclint - Thomas Taylor

8

从v3.0.0版本开始,新增了doclint配置选项来配置文档检查。这可用于抑制这些警告。

<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>

对于v3.0.0以下版本,请按照之前的回答中提到的使用方法。

<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>

2

综合所有答案并添加其他内容,我们得到以下结果。

配置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,请将这些参数附加到其中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接