Mavenはリポジトリの更新された依存関係をチェックします


167

リポジトリで利用可能な依存関係の新しいバージョンがあるかどうかを確認できるMavenプラグインはありますか?

たとえば、依存関係Xをバージョン1.2で使用しているとします。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] ------------------------------------------------------------------------

Pascal、ありがとう。それが私が探していたものです。ただし、Springバージョン3.0.1.RELEASEでは、新しいバージョン2.5.6が報告されます。プラグインのバグでしょうか?
froethen、2010

1
@Felixどういたしまして。Springアーティファクトに関しては、問題はSpringが「ルール」に従っていないという事実に起因するのではないかと思います。バージョンは3.0.1-RELEASEではなく3.0.1-RELEASEである必要があります。つまり、バグかどうかはわかりません(つまり、プラグインが3.0.1.RELEASEをより新しいものとして報告することを期待していますが、これがバグとして受け入れられるかどうかはわかりません)。
Pascal Thivent、2010

1
maven-plugin-apiすべてのMavenリリースでこの依存関係の新しいバージョンがリリースされるため、アップデートのチェックを使用して、Maven自体の新しいバージョンをチェックすることもできます。
Tunaki

知っておくと便利です。ただし、プロジェクトをビルドするときに、そのコマンドを明示的に入力する代わりに、このレポートを作成する方法はありますか?
フレデリック

33

Maven Centralで新しいアーティファクトバージョンが利用可能になったときに電子メール通知を受信する場合は、アーティファクトリスナーにアカウントを作成し、フォローするアーティファクトを選択できます。
アーティファクトを手動で検索するか、pom.xmlを直接アップロードできます。

このような通知が定期的に届きます(現在のところ英語とフランス語で利用可能):

Mavenアーティファクトリスナー


22

VersionEye Mavenのプラグインが同じことをやっている:versioneye_maven_plugin

VersionEyeは、Mavenリポジトリの新しいバージョンについても通知できます。言語に依存しないツールであり、Javaの他に7つの言語をサポートしています。シンプルなフォロー/通知機能の他に、GitHubとBitBucketリポジトリを直接監視して、プロジェクトの古い依存関係について通知することもできます。

ここに画像の説明を入力してください

ツール統合のためのREST JSON APIもあります

ちなみに私はこのプロジェクトを始めた男です。ご不明な点がありましたらお知らせください。


1
プロジェクトは終了しました:(
Alireza Fattahi

3

Versions Maven Plugin [1]を使用して、Mavenサイトでレポートを生成し、可能な更新のリストを取得できます。Springの不規則性に関しては、Mercuryのバージョン管理システムを使用しているようです[2]。Versionsプラグインを構成するときに、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.