http://maven.apache.org/plugins/maven-pmd-plugin/은 현재 PMD 버전 4.2.2를 지원하는 버전 2.4입니다.maven-pmd-plugin이 최신 PMD를 지원하도록 만드는 방법은 무엇입니까?
PMD 버전 4.2.5를이 플러그인과 함께 사용할 수 있습니까? 그렇다면 어떻게해야합니까?
http://maven.apache.org/plugins/maven-pmd-plugin/은 현재 PMD 버전 4.2.2를 지원하는 버전 2.4입니다.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 업그레이드는 여전히 어려웠습니다 : pmd 5.6.1에서 5.8.1로 3.8. 이 작업을 수행하기위한 설명서는 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
나는 당신의 제안을 시도하는 과정에서,하지만 내가 JDK 1.5에 대한 지원이 필요 위의 변경을 만들기 PMD (-jdk14은 JDK 1.4 규격이 있습니다) 플러그인이 최신 버전의 PMD를 검색하도록 유도했지만 여전히 PMD 4.2.2 보고서를 계속 생성했습니다. 왜 이런 일이 일어나고 있는지 확실하지 않지만 결과에 계속 게시됩니다. – Joe
필자 측에서는 약간의 테스트를했는데 실제로'build'에서 플러그인에 대해'dependencies'를 지정해도'reporting' 섹션에는 영향을 미치지 않는 것 같습니다. 그러나'reporting '아래에 종속성을 지정하는 것은 불가능하므로 실제로 이것을 해결하는 방법을 모르겠습니다 (maven-pmd-plugin을 패치하는 것을 제외하고). –
예,보고 섹션에서는 종속성을 지정할 수 없습니다. 나는이 구성을 빌드 -> pluginManagement -> plugins -> plugin으로 옮겼지만 빌드 단계의 일부로이 작업을 수행 할 수 있는지 확인하려고합니다. – Joe