2013-05-28 3 views
2

Maven 플러그인을 여러 번 실행하고 동일한 구성 값을 공유하는 경우 플러그인의 모든 실행간에이 구성을 공유 할 수있는 방법이 있습니까? Maven이 여러 플러그인 실행 사이에서 구성을 공유합니다.

두 개의 실행과 빌드 플러그인의 사소한 경우를 생각해

<plugin> 
    <!-- ID, version... --> 
    <executions> 
     <execution> 
      <id>ID1</id> 
      <configuration> 
       <myConfig>foo</myConfig> 
       ... 
      </configuration> 
     </execution> 
     <execution> 
      <id>ID2</id> 
      <configuration> 
       <myConfig>foo</myConfig> 
       ... 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

어떻게 다시 작성할 수 있습니다 이것을 ID1ID2 실행 모두 myConfig 구성에 대해 동일한 값을 사용하는 것이 이렇게? 이 곳처럼 설정

+0

두 번째 에 대해 ID2을 실제로 읽어야하나요? (만약 그렇다면 그것은 내 질문에 답할 것입니다. 당신이 묻지는 않았지만 같은 플러그인에서 두 번의 실행으로 내 항아리를 만들 때 발생하는 오류를 해결하는 방법을 보여줍니다 :)) –

+0

내 코드에서 테스트했습니다. 동일한 ID로 중복 실행 .id 오류가 발생합니다. 이 질문을 편집하여 실행 ID가 달라야 함을 보여줍니다. –

답변

4

처럼 사용하는 이유는 구체적인 실행 이외의 일반적인 구성을 이동하지?

<plugin> 
    <!-- ID, version... --> 
    <configuration> 
     <commonConfig>foo</commonConfig> 
    </configuration> 
    <executions> 
     <execution> 
      <id>ID1</id> 
      <configuration> 
       <specificConfig>bar</specificConfig> 
      </configuration> 
     </execution> 
     <execution> 
      <id>ID1</id> 
      <configuration> 
       <specificConfig>baz</specificConfig> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

은 내가 사용하는 일부 플러그인 (예를 들어, gmaven-플러그인) 작동 및 Maven documentation에 나는 그것이 작동하지 않아야 증거를 발견하지 않았습니다.

+0

이것은'exec-maven-plugin'에서 작동하지 않습니다. 구성이 실행을 위해 정의되면 외부 구성이 무시됩니다. –

1

사용 속성은 사용하기 전에 :

<project> 
    ... 
    <properties> 
     <myConfig>foo</myConfig> 
    </properties> 
    ... 
</project> 

그런 다음이

<execution> 
    <id>ID1</id> 
    <configuration> 
     <myConfig>${myConfig}</myConfig> 
     ... 
    </configuration> 
</execution> 
<execution> 
    <id>ID2</id> 
    <configuration> 
        <myConfig>${myConfig}</myConfig> 
         ... 
    </configuration> 
</execution> 
+0

답변을 주셔서 감사합니다. 솔직히 말해서, 실제로는 이미 태그로 정확한 동작을 수행하고 있습니다. 대신 여러 실행 사이에 태그를 공유하는 방법을 찾고 있습니다. – ecbrodie

+0

허용되는 것이 합리적으로 보이지만, 나는 그렇게 할 방법이 없다는 것을 알고 있습니다. –

관련 문제