Maven更新POM中的依赖项

时间:2009-06-09 23:57:00

标签: java maven-2 plugins command

是否有任何预先存在的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> 

5 个答案:

答案 0 :(得分:56)

答案 1 :(得分:28)

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

答案 2 :(得分:4)

您可以在父pom中使用dependencyManagement:

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

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

答案 3 :(得分:3)

就个人而言,我认为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

答案 4 :(得分:0)

不,没有。并且幸福没有。这样的工具如何知道如何升级依赖项?

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


但你可以随时write your own Mojo

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