【问题标题】:How to disable Javadoc warnings in Maven Javadoc Plugin?如何在 Maven Javadoc 插件中禁用 Javadoc 警告?
【发布时间】: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 javadoc maven-javadoc-plugin


【解决方案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
            

            【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-11-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多