http://maven.apache.org/plugins/maven-pmd-plugin/目前處於2.4版本,它支持PMD版本4.2.2如何讓maven-pmd-plugin支持最新的PMD版本?
是否有可能使用PMD 4.2.5版有了這個插件,如果是的話,我們怎麼辦呢?
http://maven.apache.org/plugins/maven-pmd-plugin/目前處於2.4版本,它支持PMD版本4.2.2如何讓maven-pmd-plugin支持最新的PMD版本?
是否有可能使用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 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>
完美無瑕的作品 – cabaji99 2017-10-19 19:29:20
我在嘗試你的建議的過程,但我需要JDK 1.5的支持(PMD-JDK14使得JDK 1.4兼容) 使上述變化導致插件檢索更新版本的PMD,但它仍然不斷生成PMD 4.2.2報告。 我不知道爲什麼會發生這種情況,但會讓你張貼在結果上。 – Joe 2010-01-11 11:47:19
我在我身邊進行了一些測試,看起來確實在'build'下爲插件指定'dependencies'並不會影響'reporting'部分。但是,在'reporting'下指定依賴關係是不可能的,所以我實際上不知道如何解決這個問題(除了修補maven-pmd-plugin)。 – 2010-01-11 22:52:25
是的,報告部分不允許您指定依賴關係。我在build - > pluginManagement - > plugins - > plugin中移動了這個配置,但是我正在驗證是否可以將它作爲構建階段的一部分運行。 – Joe 2010-01-12 04:43:32