maven:所有依赖项目中的自动升级版本

时间:2011-07-04 12:55:02

标签: plugins maven dependencies

在问题出现之前,我想描述一下我使用的方法。 我在版本控制文件夹下有很多项目,其中一些是多个maven项目,其中一些是独立的bundle,其中一些是maven插件或原型。所有jar都是快照(目前我们不能使用发布工件)。因此,例如应用程序A1依赖于依赖于实用程序C的bundle B,另一个应用程序A2直接依赖于实用程序C.当我在C中更改代码时,我需要更新它的版本然后更新B和A2,然后更新A1。在一周内更新所有那些poms真的很烦人。所以我正在寻找一些可以为我处理它的自动解决方案(如果C有新版本,所有依赖的模块都必须更新)。 有什么机构有想法吗?

提前致谢

P.S。我想制作一个可以解决这个问题的MOJO,但我面临一些困难,因为并非所有项目都有共同的父项目......

4 个答案:

答案 0 :(得分:3)

听起来像版本插件可以处理...... http://mojohaus.org/versions-maven-plugin/

答案 1 :(得分:2)

这被认为是一种不好的做法,但如果使用-DupdateReleaseInfo=true(或使用发布插件)部署项目,则可以将依赖项版本设置为RELEASE

<dependency>
    <groupId>some.groupid</groupId>
    <artifactId>some.artifactid</artifactId>
    <version>RELEASE</version>
</dependency>

您将始终获得最新版本

答案 2 :(得分:0)

如果您只使用SNAPSHOT-s,您可以随时选择基于父项目。在父级中定义版本并使子级扩展它。您也可以选择使用RELEASE或LATEST等版本。

答案 3 :(得分:0)

考虑使用持续集成引擎来监视所有项目并在更改时构建它们。

如果您使用Jenkins,您可以将其设置为将构建的maven工件提供为Maven存储库,然后您可以在自己的Maven配置中使用它。

这应该足够了 - 快照机制处理剩下的事情。