http://maven.apache.org/plugins/maven-pmd-plugin/目前是 2.4 版,它支持 PMD 4.2.2 版
是否可以通过此插件使用 PMD 4.2.5 版,如果可以,我们该怎么做?
http://maven.apache.org/plugins/maven-pmd-plugin/目前是 2.4 版,它支持 PMD 4.2.2 版
是否可以通过此插件使用 PMD 4.2.5 版,如果可以,我们该怎么做?
对此有一个 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>
我没有测试这个,我不知道它是否会无缝工作。
这是一个老问题,事情已经发生了变化,但我面临着将 maven-pmd-plugin:3.8 从 pmd 5.6.1 升级到 5.8.1 的挑战。在撰写本文时,maven-pmd-plugin 页面中缺少执行此操作的文档。
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>