maven-plugin - maven-pmd-plugin 仅使用捆绑的规则集

标签 maven-plugin pmd

我在我的项目中使用 maven-pmd-plugin,这就是我配置它的方式

<reporting>
 <plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jxr-plugin</artifactId>
    <version>2.3</version>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.6</version>
    <configuration>
     <linkXref>true</linkXref>
     <sourceEncoding>UTF-8</sourceEncoding>
     <minimumTokens>100</minimumTokens>
     <targetJdk>${targetJdk}</targetJdk>
       <rulesets>
           <ruleset>${maven.pmd.rulesetfiles}</ruleset>
       </rulesets>
    </configuration>
  </plugin>
 </plugins>
</reporting>

这里是上面配置中用到的属性

<properties>
<spring.version>3.0.6.RELEASE</spring.version>
<basedir>C:\Users\Q4\workspace\project</basedir>
<maven.pmd.rulesetfiles>${basedir}\pmdRuleset.xml</maven.pmd.rulesetfiles>
<targetJdk>1.5</targetJdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

问题是当我运行 mvn pmd:check 时,它给了我 8 个违规——仅来自基本的、未使用的代码和导入。它根本不使用我在自定义规则集文件中列出的所有规则。我什至尝试在规则集中直接使用 logging-java.xml 和 strings.xml,而不使用自定义规则集文件,但它仍然不起作用。

当我运行 mvn pmd:pmd 时,我获得了构建成功,但错误仍然出现在我的目标文件夹中。为什么我在这里获得构建成功?

最佳答案

我通过简单地在构建部分中添加插件以及报告部分中的插件来解决这个问题。

不知何故,它也需要能够运行所有规则集。早些时候我的印象是,只有当我们想在构建和部署阶段运行插件时,我们才会将插件放入构建中。

关于maven-plugin - maven-pmd-plugin 仅使用捆绑的规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389612/

相关文章:

Maven 用于多个模块

java - 重新打包依赖并修复pom

java - 抑制小写 'log' 字段的 PMD VariableNamingConventions 规则

java - 在 pmd 中排除不起作用

java - Jenkins Ant 构建上的自定义 PMD 规则集文件不起作用

java - Java 类中的最终可选成员变量

java - 添加附加路径到 exec-maven-plugin

maven - content-package-maven-plugin 没有部署支持

java - Maven 插件 : components. xml 和 lifecycles.xml

java - PMD 与 Eclipse Kepler