58

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

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

如果有帮助,我正在使用 IntelliJ Idea。

4

3 回答 3

105

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

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

检查新的依赖项更新

目标将检查项目中使用的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>
于 2010-08-19T04:13:48.923 回答
11

如果您想快速完成,可以使用www.versioneye.com站点。

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

您还可以提及要检查更新的库。

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

更新:

6年后,该项目关闭了:(

所以mvn versions:display-dependency-updates似乎是选择。

于 2014-03-25T10:40:29.523 回答
9

对此 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>
于 2012-04-14T19:12:06.287 回答