2012-03-06 4 views
1

findbugs 플러그인이 내 maven 설정에서 제대로 작동합니다. 컴파일 단계에서 실행할 findbug를 설정했습니다. 그러나 테스트 단계에서도 컴파일이 호출되기 때문에 테스트 단계에서 실행되는 것으로 나타났습니다. 모든 타겟을 실행하는 자동화 된 빌드 파이프 라인이 있으므로 테스트 단계에서 findbug가 실행될 필요가 없습니다. 다음과 같은 테스트 단계에서 findbugs를 제외 시키려고했지만 행운은 없습니다.Maven - FindBugs Plugin - 테스트 단계에서 제외

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>findbugs-maven-plugin</artifactId> 
    <version>2.4.0</version> 
    <inherited>true</inherited> 
    <configuration> 
     <failOnError>${findbugs.failOnError}</failOnError> 
     <skip>${findbugs.skip}</skip> 
     <trace>${findbugs.trace}</trace> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>compile</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
     </execution> 
     <execution> 
      <id>findbugs-test-compile</id> 
      <phase>test</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

답변

1

는 그것은 당신이 두 개의 실행 테스트에서 하나 컴파일 단계에서 하나를 갖도록 구성 원인이 단순히 실행 컴파일 생명 cylcle를 통해 통해 실행 기반으로 호출되지 않습니다. Findbug는 일반적으로보고 영역 (사이트)에서 실행해야합니다.

<executions> 
     <execution> 
      <id>findbugs-test-compile</id> 
      <phase>test</phase> 
      <goals> 
       <goal>check</goal> 
      </goals> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
     </execution> 
    </executions> 

당신이 좋아하는 하나를 가지고 : 그냥 하나의 실행을합니다. 그러나 나는보고 영역 (사이트를 통해)에서만 실행해야하는 documentation 원인을 읽을 것을 권장합니다.

UPDATE :
그냥 일반적인 빌드 영역에서 제거하고 대신보고 지역에 투입보다에만 사이트 생성시 findbugs를 실행하고자하는 경우
.

+0

제 2 섹션으로 테스트 단계에서 실행되는 findbugs 문제가있었습니다. 나는 을 추가하여 시험 단계 으로 설정할 수 있습니다. 즉, 테스트 단계가있는 두 번째 항목을 제거하면 mvn 테스트를 실행해도 findbugs가 계속 실행됩니다. – Bellini

+0

질문은 왜 컴파일 사이클 동안 findbugs를 실행하고 싶습니까? 일반적인 사용 사례는 사이트 생성 중에 실행하는 것입니다. 간단한 질문은 : 언제 findbugs를 실행 하시겠습니까? – khmarbaise

+0

시간을내어이 문제에 대해 논의해 주셔서 감사합니다. 컴파일하는 동안 실행하여 새로운 버그가 발견되면 빌드가 실패 할 수 있습니다. 사이트 생성은 일반적인 설정의 일부가 아닙니다. 모든 것이 올바르게 구축되고 모든 테스트가 올바르게 통과되는 경우에만 사이트를 생성합니다. 내 작업은 "사이트"가 아니라 백엔드 서버이므로 프로젝트 정보 및보고를 생성하기 위해 제 사이트에서 사이트를 엄격하게 사용합니다. – Bellini