java - 您可以排除特定 PMD 规则的源文件吗?

标签 java pmd

定义 PMD 规则集时是否可以从特定规则中排除源文件?

我想做如下的事情:

<rule ref=rulesets/java/logging-java.xml>
  <exclude name="Ignore.java" />
</rule>

规则名称似乎仅支持排除。源文件有类似的东西吗?

最佳答案

如果您使用 maven-pmd-plugin 工具来运行 PMD,那么您可以包含一个属性文件,列出要忽略的类和规则。

exclude-pmd.properties

org.apache.maven.ClassA=UnusedPrivateField,EmptyCatchBlock
org.apache.maven.ClassB=UnusedPrivateField,UnusedFormalParameter,UnusedPrivateMethod

pom.xml

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>3.8</version>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <excludeFromFailureFile>exclude-pmd.properties</excludeFromFailureFile>
            </configuration>
          </execution>
          <execution>
            <goals>
              <goal>cpd-check</goal>
            </goals>
            <configuration>
              <excludeFromFailureFile>exclude-cpd.properties</excludeFromFailureFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

更多详情:https://maven.apache.org/plugins/maven-pmd-plugin/examples/violation-exclusions.html

关于java - 您可以排除特定 PMD 规则的源文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645443/

相关文章:

java - 为什么 Spring boot 无法识别我的第二个数据源配置?

java - Tomcat 在生产服务器上突然停止工作

java - 导入的包编译后是否包含在.class文件中?

Matlab2011a 和 64 位 Win7 中的 Java GUI

java - Checkstyle 与 PMD

java - 将持久化实体保留在事务之外

java - Gradle 的 PMD 插件 : what are acceptable arguments?

gradle - Gradle 上的 Findbugs 和 PMD 插件

java - PMD 内存泄漏

java - PMD 代表什么?