2011-01-11 2 views
15

내 프로젝트가 상속하는 POM은 arguments을 지정하는 release 플러그인에 대해 <pluginManagement>을 포함합니다.명령 행에서 pom pluginManagement에 정의 된 Maven 플러그인 구성을 덮어 쓰기

내 질문 :이 경우 명령 줄에서 arguments 매개 변수를 무시할 수 있습니까?

mvn release:prepare -Darguments="-Pmock -Prelease" 

-Darguments="-Pmock -Prelease" 부분은 효과가 없습니다 :

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>-Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 

인해 명령 행 인수가 작동하지 않습니다에 :

부모 POM이 있습니다. arguments이 아직 지정되지 않은 경우 작동합니다.

부모 POM을 수정하거나 사용하지 못하게 할 수 있습니다.

답변

10

해결책을 찾았습니다. POM 나는 부모 POM의 설정을 무시하고 명령 줄에서 추가 인수를 지정할 수 있습니다. -Darguments=-Pmock

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>${arguments} -Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 
6

이미 (Maven Bug MNG-4979 참조) POM에 설정되어있는 구성을 무시할 수 없습니다. 이 문제를 피하기 위해 변수를 사용할 수 있습니다. 대답의 발췌 문장은 그것을 사용합니다.

+0

MNG-4979에 대한 링크가 업데이트되었습니다. https://issues.apache.org/jira/browse/MNG-4979 – erwaman

+0

감사합니다. 나는 코멘트의 링크를 업데이트했다. –

관련 문제