Maven在存储库中检查更新的依赖项

Maven在存储库中检查更新的依赖项,maven,dependencies,version,maven-2,maven-3,Maven,Dependencies,Version,Maven 2,Maven 3,是否有Maven插件允许您检查存储库中是否有更新版本的依赖项 比如说,您正在1.2版中使用依赖关系X。现在,X的新版本与1.3版一起发布。我想知道,根据我的项目中使用的依赖项,哪些依赖项有更新的版本可用。和it's mojo是您需要的: mvn versions:display-dependency-updates 以下是输出结果: [INFO] ------------------------------------------------------------------------ [

是否有Maven插件允许您检查存储库中是否有更新版本的依赖项

比如说,您正在1.2版中使用依赖关系X。现在,X的新版本与1.3版一起发布。我想知道,根据我的项目中使用的依赖项,哪些依赖项有更新的版本可用。

和it's mojo是您需要的:

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

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


  • 如果您希望在上有更新的工件版本时收到电子邮件通知,您可以在上创建一个帐户,并选择要遵循的工件。
    您可以手动搜索工件,也可以直接上传pom.xml

    您将定期收到此类通知(目前有英文和法文版本):

    Maven插件也在做同样的事情:

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

    还有一个,用于工具集成


    顺便说一句,我是这个项目的始作俑者。如果你有问题,请告诉我

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

        <properties>
            <assertj.version>3.15.0</assertj.version>
            <aws-sdk.version>1.11.763</aws-sdk.version>
            <cxf.version>3.3.6</cxf.version>
    
    
    
    3.15.0
    1.11.763
    3.3.6
    
    如果您只对这些版本的更新感兴趣,可以使用以下命令

    mvn版本:显示属性更新


    这提供了一个更精简的视图,只返回需要在“属性”部分更新的版本。

    理想的方法是在pom.xml中将依赖项版本设置为属性,然后运行以下命令以获取特定/自定义依赖项的更新版本

        <properties>
            <assertj.version>3.15.0</assertj.version>
            <aws-sdk.version>1.11.763</aws-sdk.version>
            <cxf.version>3.3.6</cxf.version>
    
    
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <skip.tests>true</skip.tests>
        <spring-cloud-gcp.version>1.2.3.RELEASE</spring-cloud-gcp.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
        <spring-cloud-stream-schema.version>2.2.1.RELEASE</spring-cloud-stream-schema.version>
        <confluent.version>5.5.1</confluent.version>
        <avro.version>1.10.0</avro.version>
        <janino.version>3.1.2</janino.version>
        <swagger.version>2.9.2</swagger.version>
        <google-cloud-logging-logback.version>0.118.1-alpha</google-cloud-logging-logback.version>
        <spring-cloud-stream-binder-kafka.version>3.0.6.RELEASE</spring-cloud-stream-binder-kafka.version>
    </properties>
    

    实现这一点的另一种方法是执行命令
    mvn versions:display dependency updates
    ,但这种方法面临的问题是,它还向我显示对我来说不太有用的嵌套依赖项的更新。

    谢谢Pascal。这就是我要找的。不过,对于SpringVersion3.0.1.RELEASE,它报告了2.5.6的更新版本。也许插件中有个bug?@Felix不客气。关于Spring工件,我想知道问题是否不是因为Spring没有遵循以下事实:版本应该是3.0.1-RELEASE,而不是3.0.1.RELEASE。换句话说,我不确定这是否是一个bug(我的意思是,当然,我希望插件也报告3.0.1.RELEASE更新,但我不确定这是否会被接受为bug).Checking updates
    maven plugin api
    也可以用于检查maven本身的更新版本,因为每个maven版本都会发布此依赖项的新版本。这很好。但是,在我们构建项目时,是否有一种方法可以生成此报告,而不必显式地键入该命令?能否提供一个示例?相关问题:。项目已关闭:(低估答案)。