我对Maven和pom.xml很新。有没有办法可以找出哪些依赖项已经过时,以便我可以更新我的pom.xml中的版本号。
在其他语言中,例如,Ruby有一个命令gem list outdated
,它给我一个可以更新的依赖项列表(rubygems)
如果可以提供帮助,我正在使用IntelliJ Idea。
答案 0 :(得分:79)
您可以使用Versions Maven Plugin执行此操作。检查以下目标:
versions:display-dependency-updates
扫描项目的依赖项,并生成具有更新版本的依赖项的报告。versions:display-plugin-updates
扫描一个项目的插件,并生成一个有更新版本的插件的报告。以下是示例输出(摘自示例):
Checking for new dependency 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 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] ------------------------------------------------------------------------
Pom install
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5</version>
</plugin>
答案 1 :(得分: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>
答案 2 :(得分:8)
如果您想快速完成,可以使用www.versioneye.com网站。
您可以在那里定义项目并上传项目pom.xml
,该网站还会定期向您发送电子邮件,通知您有关新更新的信息。
您还可以提及要检查更新的库。
我不知道它是否自动与maven repo完全同步,但我总是发现它的lib版本是更新的。
更新:
6年后项目关闭:(
所以mvn versions:display-dependency-updates
似乎是选择。