2013-01-07 2 views
0

로컬 .m2 및 원격 아티팩트 리포지토리에 설치되는 프로젝트를 빌드하는 데 maven을 사용합니다.메이븐으로 빌드 할 때 아티팩트 빌드 번호/날짜 가져 오기

다른이 프로젝트를 로컬 대상 폴더에 다운로드 (maven-dependency-plugin : copy) 한 다음 파일 공유에 업로드합니다. 파일 공유에 이슈를 업로드 할 때 프로젝트를 다시 실행하면 변경해서는 안되는 buildNumber를 제공해야합니다. 예를 들어, 유물에 대한 빌드 번호를 어떻게 얻을 수 있습니까? 인공물?

artifactory에서 이슈를 탐색 할 때 모두 고유 한 buildIds가 있습니다.

+0

왜 이슈의 버전을 사용하지? – khmarbaise

+0

SNAPSHOT 버전이므로 이슈가 동일하다는 보장이 없으며 이는 스냅 샷의 요점이지만 위의 시나리오에서 특정 빌드를 얻어야합니다 – u123

답변

0

가장 좋은 solutin은 VCS 등에서 정보를 얻고이 정보를 manifest.mf 파일에 넣는 데 buildnumber-maven-plugin을 사용하는 것일 수 있습니다. maven-dependency-plugin : 목표 복사를 사용하여 이슈를 해당 폴더에 복사 할 수 있습니다. SNAPSHOT이있는 경우에만 나중에 항아리 자체를 살펴볼 수 있습니다.

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>buildnumber-maven-plugin</artifactId> 
     <version>1.1</version> 
     <executions> 
      <execution> 
      <phase>validate</phase> 
      <goals> 
       <goal>create</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <doCheck>true</doCheck> 
      <doUpdate>true</doUpdate> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

당신은 다음과 같은 MANIFEST.MF 파일에 넣어되어야 하는지를 정의 할 수 있습니다 :

<build> 
    ... 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.1</version> 
     <configuration> 
      <archive> 
      <manifest> 
       <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
      </manifest> 
      <manifestEntries> 
       <Implementation-Build>${buildNumber}</Implementation-Build> 
      </manifestEntries> 
      </archive> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
관련 문제