2015-02-02 3 views
2

내 maven 프로젝트에서 pgp 플러그인을 사용하여 jar 파일에 서명합니다. 원격 저장소에 배포 할 때만이 작업을 수행해야하지만 로컬 저장소에 설치하는 경우에는 수행하지 않아야합니다. 그래서 배포 할 단계를 설정하려고했습니다. 그 구성 받는다는으로원격 저장소에 배포하기 직전에 Maven 플러그인 실행

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-gpg-plugin</artifactId> 
      <version>1.1</version> 
      <executions> 
       <execution> 
        <id>sign-artifacts</id> 
        <phase>deploy</phase> 
        <goals> 
         <goal>sign</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

먼저 원격의 repo에 배포하고 theh 징후 내 항아리 ...

나는 플러그인은 그들이 POM 파일에 정의 된 순서대로 실행되는 것을 읽고, 그래서 배포를 구성하려 기호 플러그인 후 -plugin하지만 didnt가 어떤 영향을

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-gpg-plugin</artifactId> 
      <version>1.1</version> 
      <executions> 
       <execution> 
        <id>sign-artifacts</id> 
        <phase>deploy</phase> 
        <goals> 
         <goal>sign</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <version>2.8.2</version> 
      <executions> 
       <execution> 
        <phase>deploy</phase> 
        <goals> 
         <goal>deploy</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

어떻게 그 기호 플러그인이 설치에서 실행되지 달성하지만,에 유물을 업로드하기 전에 배포 할 수 있습니다? 나는 maven3을 사용하고있다.

+0

소리가 약간 까다 롭습니다 ... 로컬 설치 및 원격 배포에서 아티팩트가 동일하지 않아야합니까? –

답변

1

처음에있을 것입니다 경우 maven-deploy-plugindeploy 단계에 바인딩 기본값은, 난 내가 1.1은 2010 년입니다이 버전의 원인 an 더 최신 버전으로 maven-gpg-plugin를 업데이트하는 것이 좋습니다 것입니다 명확하지 않다 .. 그 외에도 나는 을 deploy 라이프 사이클로, maven-gpg-pluginverify 라이프 사이클 단계를 의미하는 플러그인의 기본값을 유지하는 것이 좋습니다. 이는 통합 테스트가있는 경우 이상적이지 않습니다. 그러한 경우, 릴리스 테스트 케이스에서만 활성화되는 프로파일을 정의하여 통합 테스트와의 혼동을 방지하는 것이 좋습니다.

<plugin> 
    <inherited>true</inherited> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <version>2.8.2</version> 
    <configuration> 
    <updateReleaseInfo>true</updateReleaseInfo> 
    </configuration> 
    <executions> 
    <execution> 
     <goals> 
     <goal>deploy</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-gpg-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
    <execution> 
     <id>sign-artifacts</id> 
     <goals> 
     <goal>sign</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
0

gpg-plugin 프로젝트를 verify 단계에 배치하는 것을 보아 왔습니다.

사용중인 Maven의 버전을 알 수 있습니까? 나는 Maven 2.0.10 (또는 아마 이전 버전) 이후에 동일한 단계의 플러그인이 정의 된 순서대로 실행되어야한다고 생각한다. 주문이 효과

+0

예, 일반적으로 확인 중이지만 설치 전에 확인이 제공됩니다 ... – mibutec

관련 문제