如何检查 pom.xml 以获取更新的依赖项
Posted
技术标签:
【中文标题】如何检查 pom.xml 以获取更新的依赖项【英文标题】:How to check pom.xml for updated dependencies 【发布时间】:2011-03-31 19:12:32 【问题描述】:我对 Maven 和 pom.xml 还很陌生。有没有办法找出我的哪些依赖项已经过时,以便我可以更新我的 pom.xml 中的版本号。
例如,在其他语言中,Ruby 有一个命令 gem list outdated
,它为我提供了一个我可以更新的依赖项(rubygems)列表
如果有帮助,我正在使用 IntelliJ Idea。
【问题讨论】:
【参考方案1】:您可以使用Versions Maven Plugin 执行此操作。检查以下目标:
versions:display-dependency-updates
扫描项目的依赖项并生成有关具有较新版本可用的依赖项的报告。
versions:display-plugin-updates
扫描项目的插件,并生成一份关于那些有更新版本的插件的报告。
这是一个示例输出(取自示例):
Checking for new dependency updates
display-dependency-updates
目标将检查项目中使用的所有依赖项,并显示这些依赖项的列表以及可用的较新版本。以下是一些示例:
svn 结帐 http://svn.codehaus.org/mojo/trunk/mojo/build-helper-maven-plugin build-helper-maven-plugin cd build-helper-maven-plugin运行
mvn 版本:显示依赖更新产生以下输出:
[信息] --------------------------------------------- ------------------------- [INFO] 构建构建助手 Maven 插件 [INFO] 任务段:[versions:display-dependency-updates] [信息] --------------------------------------------- ------------------------- [信息] [版本:显示依赖更新] [信息] [INFO] 以下依赖项更新可用: [信息] org.apache.maven:maven-artifact ...................... 2.0 -> 2.0.9 [信息] org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9 [信息] org.apache.maven:maven-project ..................... 2.0.2 -> 2.0.9 [信息] org.codehaus.plexus:plexus-utils ...................... 1.1 -> 1.5.6 [信息] [信息] --------------------------------------------- ------------------------- [信息] 构建成功 [信息] --------------------------------------------- ------------------------- [INFO] 总时间:17 秒 [INFO] 完成于:2008 年 8 月 15 日星期五 10:46:03 IST [INFO] 最终内存:10M/167M [信息] --------------------------------------------- -------------------------
Pom 安装
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5</version>
</plugin>
【讨论】:
非常感谢。它对我来说真的很管用。使用非常直观 多模块项目将所有版本“外部化”到父 POM 中的 Maven 属性(最佳实践 IMO)可能会更好地在父模块中使用mvn -N versions:display-property-updates
。
下面提供的此插件的 POM 依赖项
我的项目有一个 如果您想快速完成,可以使用www.versioneye.com 站点。
在那里您可以定义您的项目并上传项目pom.xml
,该网站还会定期向您发送电子邮件,通知您有关新的更新。
您还可以提及要检查哪些库的更新。
我不知道它是否会自动与 maven repo 完全同步,但我总是发现它的 lib 版本是更新的。
更新:
该项目在 6 年后关闭 :(
所以mvn versions:display-dependency-updates
似乎是选择。
【讨论】:
【参考方案3】:对此的 POM 依赖关系并不明显。
为了您的方便:
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</dependency>
和存储库:
<repository>
<id>Codehaus Mojo</id>
<name>Codehaus Mojo</name>
<url>https://nexus.codehaus.org/content/repositories/releases/</url>
</repository>
【讨论】:
仅供看到此内容的其他人参考,repo URL 现在为nexus.codehaus.org/content/repositories/releases,在发布此内容时,最新版本为 2.1 感谢@devalias,我已经更新了答案中的 url 标签以反映您的发现以上是关于如何检查 pom.xml 以获取更新的依赖项的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot pom.xml 中临时禁用依赖项 [关闭]
如何在 gradle 中重用 pom.xml 中定义的依赖项