2011-11-29 1 views
0

우리는 우리 프로젝트에 많은 모듈을 가지고 있으며 그것들 중 일부에 대해 테스트 - 병 생성을 가능하게하려고합니다. 지금은 모든 모듈에 대한 테스트 항아리를 만드는, 부모 치어의 pluginmanagement아이들을위한 Maven 테스트 - 자자도

<plugins> 
    <pluginManagement> 
    <plugin> 
     <artifactId>maven-jar-plugin</artifactId> 
     <executions> 
     <execution> 
      <goals> 
      <goal>test-jar</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</pluginManagement> 

에 받는다는 항아리 플러그인을 추가하지만 시도.

문서별로 : 플러그인 관리에는이 특정 프로젝트 빌드에 대한 플러그인 정보를 구성하기보다는 플러그인과 동일한 방식으로 플러그인 요소가 포함되어 있습니다.이 플러그인은 프로젝트 빌드를 상속받은 프로젝트 빌드를 구성하기위한 것입니다. 그러나 이는 실제로 자식들의 plugins 요소 내에서 참조되는 플러그인들만을 설정합니다. 어린이는 pluginManagement 정의를 무시할 권리가 있습니다.

우리가 포함하지 않은 모듈에 대한 테스트 - jar를 생성해서는 안되지만 어떻게 든 그럴 수 있습니다. 내 모듈 중 어느 것도 빌드 모듈에 추가 된 maven-jar-plugin을 가지고 있지 않습니다.

는 모든 테스트 단지를 만들기를 중지하려면 나는에 관심이 있어요에만 모듈에 추가 할 수 있습니다.

이를 달성하기 위해 다른 더 나은 솔루션이 있습니까?

답변

1

일반적으로 설명하는 것이 가능하면 안됩니다. 짐작할 수 있겠지만, 패키징 유형이 jar이므로 maven-jar-plugin 구성이 유효한 pom에 삽입됩니다. 그런 다음 구성이 있으므로 플러그인 관리 섹션의 구성도 사용합니다. mvn help:effective-pom을 실행하면 이것이 사실인지 아닌지에 대한 통찰력을 얻을 수 있습니다.

또한 계층 구조의 부모가 자식에 상속 될 maven-jar-pom의 구체적인 구성을 포함하지 않도록해야합니다. 자식이 구체적인 섹션을 상속 받았다면 플러그인 관리 구성을 포함하도록 트리거 할 것입니다.