http://maven.apache.org/plugins/maven-pmd-plugin/目前的版本为2.4,支持PMD版本4.2.2
是否可以将PMD版本4.2.5与此插件一起使用,如果是这样,我们如何做到这一点?
答案 0 :(得分:1)
对此有一个Jira问题,请参阅MPMD-97(我建议投票)。
目前,您可以尝试使用以下方法在本地升级插件中使用的pmd版本:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.4</version>
<dependencies>
<dependency>
<groupId>pmd</groupId>
<artifactId>pmd-jdk14</artifactId>
<version>4.2.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
我没有对此进行测试,我不知道它是否可以无缝运行。
答案 1 :(得分:1)
这是一个老问题,事情已经发生了变化,但我仍面临着将maven-pmd-plugin升级为3.8的挑战:从pmd 5.6.1到5.8.1。 maven-pmd-plugin page。
仍然缺少执行此操作的文档pom.xml配置:
<properties>
<rev.javac>1.8</rev.javac>
<rev.pmd-plugin>3.8</rev.pmd-plugin>
<rev.pmd>5.8.1</rev.pmd>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${rev.pmd-plugin}</version>
<dependencies>
<dependency>
<groupId>my.project.group</groupId>
<artifactId>project-standards</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-core</artifactId>
<version>${rev.pmd}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-java</artifactId>
<version>${rev.pmd}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>pmd-validation</id>
<phase>process-test-classes</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<rulesets>
<ruleset>/pmd/project-pmd-rules.xml</ruleset>
</rulesets>
<targetDirectory>${project.build.directory}</targetDirectory>
<targetJdk>${rev.javac}</targetJdk>
<failOnViolation>true</failOnViolation>
<failurePriority>5</failurePriority>
<verbose>false</verbose>
<linkXRef>false</linkXRef>
</configuration>
</plugin>