是否有Maven插件允许您检查存储库中是否有更新版本的依赖项可用?假设您正在使用版本1.2的依赖项X。现在版本1.3发布了X的新版本。我想知道,根据我的项目中使用的依赖项,哪些依赖项有更新的版本可用。
omqzjyyz1#
Maven Versions plugin和它的display-dependency-updates魔力正是您所寻找的:
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] ------------------------------------------------------------------------
3pmvbmvn2#
如果你想在Maven Central上有更新的工件版本时收到电子邮件通知,你可以在artifact-listener上创建一个帐户,然后选择你想要关注的工件。您可以手动搜索工件,也可以直接上传您的pom.xml。您将定期收到如下通知(目前有英语和法文版本):
pw9qyyiw3#
在具有大量依赖项的项目中,有时您会将版本保存在属性部分中。
<properties> <assertj.version>3.15.0</assertj.version> <aws-sdk.version>1.11.763</aws-sdk.version> <cxf.version>3.3.6</cxf.version>
如果您只对这些版本的更新感兴趣,则可以使用以下命令第一个月这提供了一个更加精简的视图,并且只返回需要在属性部分更新的版本。
jc3wubiy4#
VersionEye Maven插件也在执行相同的操作:versioneye_maven_plugin.VersionEye也可以通知你Maven仓库中的新版本。它是一个语言无关的工具,除了Java之外,它还支持7种其他语言。除了简单的跟随/通知功能,它还可以直接监控GitHub和BitBucket仓库,并通知你项目中过时的依赖项。
还有一个REST JSON API,用于工具集成。顺便说一句,我是这个项目的发起人。如果你有问题就告诉我。
tjjdgumg5#
理想的方法是将依赖项版本设置为pom.xml中的属性,然后运行下面的命令来获取特定/自定义依赖项的更新版本。
<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-property-updates [INFO] The following version properties are referencing the newest available version: [INFO] ${avro.version} .............................................. 1.10.0 [INFO] ${spring-cloud-stream-schema.version} ................. 2.2.1.RELEASE [INFO] ${janino.version} ............................................. 3.1.2 [INFO] The following version property updates are available: [INFO] ${spring-cloud-gcp.version} .......... 1.2.3.RELEASE -> 1.2.5.RELEASE [INFO] ${google-cloud-logging-logback.version} 0.118.1-alpha -> 0.118.2-alpha [INFO] ${spring-cloud-stream-binder-kafka.version} 3.0.6.RELEASE -> 3.0.8.RELEASE [INFO] ${confluent.version} ................................. 5.5.1 -> 6.0.0 [INFO] ${swagger.version} ................................... 2.9.2 -> 3.0.0 [INFO] ${spring-cloud.version} .................... Hoxton.SR6 -> Hoxton.SR8 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.572 s [INFO] Finished at: 2020-10-06T09:35:08-07:00 [INFO] ------------------------------------------------------------------------
另一种实现方法是执行命令mvn versions:display-dependency-updates,但这种方法面临的问题是,它还显示了对嵌套依赖项的更新,而这些更新对我来说并不太有用。
nlejzf6q6#
您可以使用Versions Maven插件[1]在您的Maven站点中生成报告,以获得可能的更新列表。至于Spring的不规则性,它似乎使用Mercury版本控制系统[2]。当配置Versions插件时,您可以为Spring添加一个特殊规则:
vuv7lop37#
我可能有点晚加入党,但更明确的方式来获得更多的可读html文件或xml文件作为报告,可以采取进一步的自动化使用:
mvn versions:dependency-updates-report
这个报告插件不仅显示了更新的更全面的细节,而且还提供了更新到最新版本的选项。
7条答案
按热度按时间omqzjyyz1#
Maven Versions plugin和它的
display-dependency-updates
魔力正是您所寻找的:输出如下所示:
3pmvbmvn2#
如果你想在Maven Central上有更新的工件版本时收到电子邮件通知,你可以在artifact-listener上创建一个帐户,然后选择你想要关注的工件。
您可以手动搜索工件,也可以直接上传您的pom.xml。
您将定期收到如下通知(目前有英语和法文版本):
pw9qyyiw3#
在具有大量依赖项的项目中,有时您会将版本保存在属性部分中。
如果您只对这些版本的更新感兴趣,则可以使用以下命令
第一个月
这提供了一个更加精简的视图,并且只返回需要在属性部分更新的版本。
jc3wubiy4#
VersionEye Maven插件也在执行相同的操作:versioneye_maven_plugin.
VersionEye也可以通知你Maven仓库中的新版本。它是一个语言无关的工具,除了Java之外,它还支持7种其他语言。除了简单的跟随/通知功能,它还可以直接监控GitHub和BitBucket仓库,并通知你项目中过时的依赖项。
还有一个REST JSON API,用于工具集成。
顺便说一句,我是这个项目的发起人。如果你有问题就告诉我。
tjjdgumg5#
理想的方法是将依赖项版本设置为pom.xml中的属性,然后运行下面的命令来获取特定/自定义依赖项的更新版本。
另一种实现方法是执行命令
mvn versions:display-dependency-updates
,但这种方法面临的问题是,它还显示了对嵌套依赖项的更新,而这些更新对我来说并不太有用。nlejzf6q6#
您可以使用Versions Maven插件[1]在您的Maven站点中生成报告,以获得可能的更新列表。至于Spring的不规则性,它似乎使用Mercury版本控制系统[2]。当配置Versions插件时,您可以为Spring添加一个特殊规则:
vuv7lop37#
我可能有点晚加入党,但更明确的方式来获得更多的可读html文件或xml文件作为报告,可以采取进一步的自动化使用:
这个报告插件不仅显示了更新的更全面的细节,而且还提供了更新到最新版本的选项。