2009-08-27 7 views
4

나는 Maven 플러그인 관리로 이상하게 들리는 것을 발견했다.Maven2 : Maven 빌드가 특정 플러그인 버전을 사용하고 있는지 확인하는 방법?

특정 사이트 기능을 사용하기 위해 특정 버전의 maven 사이트 플러그인을 사용하고 싶었습니다. 이 플러그인의 버전 2.0.1을 사용하고 싶습니다. 이 잘 작동

mvn site 

: 나는 명령을 내 프로젝트의 사이트를 생성하기 위해 내 POM의보고 섹션을 사용하는 경우

. 내가 사용한 플러그인 버전은 2.0.1입니다. 여기 사이트 플러그인 구성 내 POM에서 추출물 : 지금은 내 사이트 빌드 수명주기의 특정 단계에서 생성하려는 경우

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-site-plugin</artifactId> 
      <version>2.0.1</version> 
     </plugin> 
    </plugins> 
</reporting> 

가, 내가,의 준비 패키지 (와 목표 단계)을 가정 해 봅시다

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-site-plugin</artifactId> 

     <executions> 
      <execution> 
       <phase>prepare-package</phase> 
       <goals> 
        <goal>stage</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 
</plugins> 

을 그리고 여기가 받는다는 사이트 플러그인 버전, 즉 슈퍼 POM,에서 오는 붙어 : 섹션에서 다음 섹션을 추가합니다. 2.0-beta-7. 설정을 추가하려고해도 버전 2.0.1을 사용하고 싶습니다. 2.0-beta-7을 계속 사용합니다. 또한보고 섹션에서 사용되는 구성이 빌드 섹션에도 적용될 예정이기 때문에 섹션에 버전을 추가하려고했습니다. 하지만이 방법은 효과가 없습니다.

어쩌면 나는 뭔가를 놓친 것이고, 틀렸다면 나를 바로 잡을 수도 있지만, 이것은 버그처럼 보입니다. 빌드 프로세스 중에 플러그인의 버전을 수정하려면 Maven 측에서 필요합니까?

감사합니다.

답변

6

, 당신이 어떤 플러그인에 사용되는 버전을 선언 할 수 있습니다, 이것은 예를 들어, 슈퍼 POM

로부터 상속 된 버전을 대체합니다 :

<pluginManagement> 
    <plugins> 
    <plugin> 
     <artifactId>maven-site-plugin</artifactId> 
     <version>2.0.1</version> 
    </plugin>  
    </plugins> 
</pluginManagement> 

당신이 할 수있는 pluginManagement 구성에 대한 배경은 documentation을 참조하십시오.

+0

빠른 응답을 보내 주셔서 감사합니다. 이 값은 Super Pom의 기본값보다 우선합니다. – reef

1

"pluginManagement"섹션을 사용하여 플러그인의 글로벌 버전 번호를 설정해야한다고 생각합니다. 당신은 치어의 pluginManagement 섹션을 정의하면

관련 문제