2013-08-01 3 views
0

여러 사이트를 실행하고 Maven으로 코드를 빌드합니다.Maven 버전 관리 서브 모듈 종속성

각 사이트에는 자체 pom.xml이 있고, 여러 사이트에는 하위 모듈이 있습니다.

사이트 B는

사이트 B는 .m2/저장소에이 종속성을 찾아 사이트 A에서 서브 모듈에 대한 종속성이 있습니다.

현재 사이트 B의 pom.xml은 종속성 이름과 버전을 지정합니다. 우리는 우리의 개발 및 출시 과정의 측면에서 서브 모듈의 버전을 처리하는 방법을 궁금해하는

뿐만 아니라 다른 같은 사이트에서 서브 모듈에 의존하는 사이트와 관련하여 B 사이트 A.

에 않습니다 기본 사이트의 경우 모든 스냅 샷 및 릴리스 (모든 버전이 동일한 버전 번호로 유지)에 대한 하위 모듈의 버전을 증가 시키거나 하위 모듈이 변경되면 하위 모듈 버전 만 변경해야합니까?

새 버전을 통신하고 사이트 B의 pom.xml을 편집하고 종속 버전을 업데이트하는 대신 사이트 B에 찾을 새 모듈 버전을 알려주는 방법 외에 다른 방법이 있습니까?

사이트 B pom.xml의 종속성 사양에서 버전 제거를 시도했지만 종속성/하위 모듈이 사이트 B의 코드와 동일한 버전을 갖는 것을 보았습니다.

버전이 바뀔 때 Jimkins에서 pom.xml 종속성을 업데이트하기 위해 뭔가를 설정할 수 있다고 생각합니다.하지만 더 좋은 방법이 있을까요? 당신이 연결된 전체 Q &을 읽으면

How do I tell Maven to use the latest version of a dependency?

+0

버전 범위는 링크에 설명 된대로 사용할 수 있습니까? –

답변

0

, 당신이 볼 수

난 그냥 매우 도움이되는, (예를 들어, "릴리스"및 "최신")이보고 LATEST와 RELEASE에 많은 문제가있을 수 있습니다. 그 중 첫 번째 문제는 Maven 3에서 더 이상 지원되지 않습니다. 주어진 답변에 versions-maven-pluginmaven-scm-plugin이 포함되어있어 원하는 경우 자동 업데이트에 유용 할 수 있습니다.

무언가가 변경되었을 때 알기를 원한다면, 버전 플러그인은 site 단계의 일부로 실행할 수있는 보고서를 가지고 원하는 정보를 생성 할 수 있습니다. 그런 다음 시간이 맞으면 종속성을 업데이트 할 수 있습니다.

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>versions-maven-plugin</artifactId> 
      <version>1.3.1</version> 
      <reportSets> 
       <reportSet> 
        <reports> 
         <report>dependency-updates-report</report> 
         <report>plugin-updates-report</report> 
         <report>property-updates-report</report> 
        </reports> 
       </reportSet> 
      </reportSets> 
     </plugin> 
    </plugins> 
</reporting> 
관련 문제