Maven更新POM中的依赖关系

是否有任何先前存在的Maven插件或命令来更新POM中的依赖关系? 例如:(如果这是在我的POM中)

<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.3</version> </dependency> 

是否有一个命令或插件,我可以运行它来更新依赖关系到:

 <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> </dependency> 

试试maven-versions-plugin ,特别是版本:use-latest-versions的目标。

我更喜欢使用mvn版本:display-dependency-updates ; 这会生成一个可以升级哪些依赖关系的报告,但可以让您自己修改POM。 还有一个插件display-plugin-updates命令。

你可以在你的父类中使用dependencyManagement:

 <dependencyManagement> <dependencies> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> </dependency> </dependencies> </dependencyManagement> 

这样,您只需要在父POM中更改一次版本

没有没有。 而且幸福没有。 这样的工具如何知道如何升级你的依赖关系?

在小版本之间可能发生破坏,这将是一个等待发生的灾难。


但是你可以随时写你自己的Mojo 。

  • 从Maven仓库获取最新版本的依赖项
  • 与来自pom.xml的版本进行比较
  • 重写pom.xml
  • 运行mvn test
  • 利润!

就个人而言,我认为在maven中应该有一个额外的参数,可以让你添加到pom.xml中。

请参阅http://maven.40175.n5.nabble.com/Is-there-any-maven-plugin-to-add-dependency-to-existing-pom-xml-td2839092.html#a5772853

在这里,您可以将以下内容添加到您的pom.xml文件中:

 <project> ... <build> ... <plugins> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.1</version> </plugin> ... </plugins> ... </build> ... </project> 

然后通过版本设置命令备份你的pom.xml文件:

 mvn versions:set -DnewVersion=9.9.9 

运行最新版本:

 mvn versions:use-latest-versions 

并对pom.xml文件,pom.xml和pom.xml.versionsBackup进行比较