是否有一个Maven插件允许您检查存储库中是否有可用的依赖项的新版本?

假设,您在版本1.2中使用依赖项X。现在发布了X的新版本1.3。我想知道,根据我的项目中使用的依赖项,哪些依赖项有更新的可用版本。


当前回答

在具有大量依赖项的项目中,有时您需要将版本保存在属性部分中。

    <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版本:display-property-updates

这提供了一个更简洁的视图,并且只返回属性部分中需要更新的版本。

其他回答

我可能有点晚加入派对,但一个更清晰的方法来获得更可读的html文件或xml文件作为报告,可以采取进一步自动化使用:

mvn versions:dependency-updates-report

这个报告插件不仅显示了更新的更全面的细节,而且还提供了更新到最新版本的选项。您可以找到它使用各种参数的文档。

VersionEye Maven Plugin也在做同样的事情:versioneye_maven_plugin。

VersionEye还可以通知您Maven存储库上的新版本。它是一个语言无关的工具,除了Java,它还支持其他7种语言。除了简单的跟踪/通知功能,它还可以直接监控GitHub和BitBucket存储库,并通知您项目中过时的依赖项。

还有一个REST JSON API,用于工具集成。

顺便说一下,这个项目是我发起的。如果有问题请告诉我。

您可以使用版本Maven插件[1]在Maven站点中生成报告,以获得可能的更新列表。关于Spring的不规则性,它似乎使用了Mercury版本控制系统[2]。在配置Versions插件时,你可以为Spring添加一个特殊的规则:

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

您可以使用Maven Check,这是一个命令行工具,与版本Maven插件不同,它是独立的。它也适用于Gradle项目。

输出的例子:

2 build file(s) found, checking for artifact updates

my-gradle-project\build.gradle
[COMPILE ONLY] com.google.guava:guava 31.0-android -> 31.1-android
1 artifact update(s) available

my-maven-project\pom.xml
[DEPENDENCY] org.apache.commons:commons-lang3 3.10 -> 3.12.0
[BUILD PLUGIN] org.apache.maven.plugins:maven-compiler-plugin 3.10.0 -> 3.10.1
2 artifact update(s) available

2/2 build file(s) checked, 3 artifact update(s) available

免责声明:我是Maven Check的作者。

Maven版本插件和它的显示依赖更新魔咒就是你要找的:

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] ------------------------------------------------------------------------