저장소에서 업데이트 된 종속성을 확인한 Maven


167

저장소에서 사용 가능한 최신 버전의 종속성이 있는지 확인할 수있는 Maven 플러그인이 있습니까?

버전 1.2에서 종속성 X를 사용한다고 가정하십시오. 이제 새로운 버전의 X가 1.3 버전으로 출시되었습니다. 내 프로젝트에 사용 된 종속성을 기반으로 최신 버전을 사용할 수있는 종속성을 알고 싶습니다.


답변:


284

Maven 플러그인 버전display-dependency-updates모조은 당신이 찾고있는 무엇 :

mvn versions:display-dependency-updates

출력 결과는 다음과 같습니다.

[INFO] ------------------------------------------------------------------------
[INFO] Building Build Helper Maven Plugin
[INFO]    task-segment: [versions:display-dependency-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-dependency-updates]
[INFO]
[INFO] The following dependency updates are available:
[INFO]   org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9
[INFO]   org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17 seconds
[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008
[INFO] Final Memory: 10M/167M
[INFO] ------------------------------------------------------------------------

고마워 파스칼. 그것이 내가 찾던 것입니다. 그러나 Spring 버전 3.0.1.RELEASE의 경우 최신 버전 2.5.6을보고합니다. 플러그인에 버그가 있습니까?
froethen

1
@Felix 천만에요. Spring 아티팩트와 관련하여 Spring이 "규칙" 을 따르지 않기 때문에 문제가 아닌지 궁금합니다 . 버전은 3.0.1.RELEASE가 아닌 3.0.1-RELEASE 여야합니다. 즉, 버그인지 확실하지 않습니다 (플러그인이 플러그인이 3.0.1.RELEASE를 더 최신 버전으로보고 할 것으로 기대하지만 이것이 버그로 받아 들여질지는 확실하지 않습니다).
Pascal Thivent

1
maven-plugin-api모든 Maven 릴리스에 대해이 종속성의 새 버전이 릴리스되므로 업데이트 확인을 사용하여 최신 버전의 Maven 자체를 확인할 수도 있습니다.
Tunaki

알아두면 좋습니다. 그러나 프로젝트를 작성할 때 해당 명령을 명시 적으로 입력하지 않고이 보고서를 작성하는 방법이 있습니까?
Frederic

33

Maven Central 에서 최신 아티팩트 버전을 사용할 수있을 때 이메일 알림을 받으려면 아티 리스너 에 계정을 생성하고 따라 가려는 아티팩트를 선택할 수 있습니다.
이슈를 수동으로 검색하거나 pom.xml을 직접 업로드 할 수 있습니다.

다음과 같은 알림을 주기적으로받습니다 (현재 영어와 프랑스어로 제공).

메이븐 아티팩트 리스너


22

VersionEye : 메이븐 플러그인은 동일하고있다 versioneye_maven_plugin을 .

VersionEye는 Maven Repositories의 새 버전에 대해서도 알려줄 수 있습니다. 언어에 구애받지 않는 도구이며 Java 외에도 7 개의 다른 언어를 지원합니다. 간단한 팔로우 / 알림 기능 외에도 GitHub 및 BitBucket 리포지토리를 직접 모니터링하고 프로젝트의 오래된 종속성에 대해 알릴 수도 있습니다.

여기에 이미지 설명을 입력하십시오

도구 통합을위한 REST JSON API 도 있습니다 .

그건 그렇고, 나는이 프로젝트를 시작한 친구입니다. 궁금한 점이 있으면 알려주세요.


1
프로젝트가 종료되었습니다 :(
Alireza Fattahi

3

Versions Maven Plugin [1]을 사용하여 Maven 사이트에서 보고서를 생성하여 가능한 업데이트 목록을 얻을 수 있습니다. Spring의 불규칙성과 관련하여 Mercury 버전 관리 시스템을 사용하는 것으로 보입니다 [2]. 버전 플러그인을 구성 할 때 Spring 항목에 대한 특별한 규칙을 추가 할 수 있습니다.

  1. http://mojo.codehaus.org/versions-maven-plugin/
  2. http://docs.codehaus.org/display/MAVEN/Mercury+Version+Ranges

2
예를 들어 주시겠습니까?
Zarathustra

1

의존성이 많은 프로젝트에서는 언젠가 버전을 속성 섹션에 유지합니다.

    <properties>
        <assertj.version>3.15.0</assertj.version>
        <aws-sdk.version>1.11.763</aws-sdk.version>
        <cxf.version>3.3.6</cxf.version>

해당 버전의 업데이트에만 관심이있는 경우 다음 명령을 사용할 수 있습니다.

mvn versions:display-property-updates

보다 요약 된보기를 제공하고 속성 섹션에서 업데이트해야하는 버전 만 반환합니다.


과소 평가.
ROMANIA_engineer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.