2014-12-02 1 views
0

PMD maven 플러그인을 사용하고 있는데, 매우 이상한 동작이 나타납니다.PMD 다중 룰셋은 빌드를 통과하지만 단일 룰셋은 빌드하지 못합니다.

<configuration> 
    <rulesets> 
     <ruleset>${project.basedir}\ruleset\basic.xml</ruleset> 
     <!-- ruleset>${project.basedir}\ruleset\braces.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\design.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\clone.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\comments.xml</ruleset--> 
    </rulesets> 
</configuration> 

을하지만 아래 하나가 원활하게 빌드를 전달 - - 다음의 pom.xml 구성 basic.xml에 위반와 빌드를 실패

<configuration> 
    <rulesets> 
     <ruleset>${project.basedir}\ruleset\basic.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\braces.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\design.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\controversial.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\coupling.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\clone.xml</ruleset> 
     <ruleset>${project.basedir}\ruleset\comments.xml</ruleset> 
    </rulesets> 
</configuration> 

빌드는 두 번째 시나리오에서 실패합니다. 내가 눈치 챘을대로, 마지막 규칙 (위의 예제 comments.xml)에 코드 위반이 없다면 그 위에있는 규칙 집합 (basic.xml, braces.xml 등)이 있더라도 빌드가 중단되지 않습니다.)에는 코드 위반이 있습니다. 이 문제의 원인을 이해할 수 없습니다. 누군가가 나를 도와 줄 수 있습니까?

+0

오류가있는 샘플 프로젝트 또는 오류가있는 요점을 더 잘 게시 할 수 있습니까? –

+0

@UmanIsmail에 대한 늦은 코멘트에 대해 죄송합니다. 하지만 제가 의문을 제기 한 것은 실패가 잘되었다는 것입니다. 내 프로젝트는 basic.xml에 따라 코드 위반이 발생하여 실패를 보여줄 것으로 예상됩니다. 그러나 위의 코드 위반을 제거하지 않고 다른 규칙의 주석을 제거하지 않더라도 빌드가 성공합니다. 더 많은 조사에 따르면 pom.xml 파일에서 언급 한 마지막 룰셋 (위의 예제에서 comments.xml)이 규칙 위반을 throw하지 않으면 프로젝트가 이전에 언급 된 다른 규칙에 따라 위반 사항이 있어도 빌드가 성공적으로 통과하면 . – Siddharth

답변

1

문제점을 발견했습니다. Maven Plugin 버전 3.3에 문제가 발생했습니다. 이제 버전 3.1을 사용하고 있으며 정확히 동일한 코드가 예상대로 작동하고 있습니다.

관련 문제