如何检查更新的依赖项的pom.xml

我对Maven和pom.xml相当陌生。 有没有一种方法,我可以找出哪些依赖是过时的,以便我可以在我的pom.xml中更新版本号。

例如,在其他语言中,Ruby具有gem list outdated的命令gem list outdated ,它给了我一个我可以更新的依赖关系列表(rubygems)

如果可以的话,我正在使用IntelliJ Idea。

你可以用版本Maven插件来做到这一点。 检查以下目标:

  • versions:display-dependency-updates扫描项目的依赖关系,并生成具有可用更新版本的依赖项的报告。
  • versions:display-plugin-updates扫描一个项目的插件,并生成一个报告,这些插件有更新的版本可用。

这是一个输出示例(摘自示例):

检查新的依赖关系更新

display-dependency-updates目标将检查项目中使用的所有依赖关系,并显示可用更新版本的这些依赖关系的列表。

下面是一些这样的例子:

 svn checkout http://svn.codehaus.org/mojo/trunk/mojo/build-helper-maven-plugin build-helper-maven-plugin
 cd build-helper-maven-plugin
 mvn版本:display-dependency-updates

其中产生以下输出:

 [INFO] ----------------------------------------------- -------------------------
 [信息]build设助手Maven插件
 [INFO]任务段:[versions:display-dependency-updates]
 [INFO] ----------------------------------------------- -------------------------
 [INFO] [versions:display-dependency-updates]
 [信息]
 [INFO]下列依赖关系更新可用:
 [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] ----------------------------------------------- -------------------------
 [信息]build立成功
 [INFO] ----------------------------------------------- -------------------------
 [信息]总时间:17秒
 [INFO]完成于:星期五8月15日10:46:03 IST 2008
 [INFO]最终内存:10M / 167M
 [INFO] ----------------------------------------------- -------------------------

这是不明显的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> 

如果你想快速做到这一点,你可以使用www.versioneye.com网站。

在那里你可以定义你的项目并上传项目pom.xml,该站点还会向你发送定期的电子邮件,通知你有关新的更新。

你也可以提一下你想检查哪个库更新。

我不知道它是否自动完全与Maven回购同步,但我总是发现它的lib版本更新。