更新maven项目模块中的父版本
我有一个奇怪的场景,我有一个项目“Y”,它有一个模块“X”和其他一些模块。
X是项目Y的一部分,但它不作为该项目的模块链接。 因此,每次发布更新版本的Y时,都需要手动更新X中的父版本。
我需要以下列方式更新Y项目:a)每次发布Y项目时,X中的父项目版本应由TeamCity自动更新(与其他模块类似)
b)X不得是Y分布的一部分
c)一旦部署在TeamCity中,它就不应该从X运行测试(它们应该使用Integration测试和发布版本运行)
版本:更新父
如果在项目X
的根目录下打开终端,则可以使用versions:update-parent
将其父版本更新为latest
版本:
$ mvn versions:update-parent -DallowSnapshots=true
您可以从TeamCity执行此命令,然后将更改提交到pom。 构建Y
时肯定会触发这个,你甚至可以提供版本(它必须是list
或range
):
$ mvn versions:update-parent -DparentVersion=[1.0.0,1.0.1] //or [1.0.0,1.5.0)
文档
请参阅versions-maven-plugin的文档,尤其是:
-
版本:更新父
更新项目的父节,以便它引用最新的可用版本。 例如,如果您使用公司根POM,如果您需要确保使用最新版本的公司根POM,则此目标会很有用。
-
版本:设置
可用于从命令行设置项目版本。
-
版本:已提交
删除pom.xml.versionsBackup
-
版本:更新子模块
更新项目子模块的父节,以使版本与当前项目的版本匹配。 例如,如果您有一个聚合器pom,它也是它聚合的项目的父级,并且子级和父级版本不同步,则此mojo可以帮助修复子模块的版本。 (注意,如果您的项目因为版本不匹配而无法构建,那么您可能需要使用-N选项调用Maven以运行此目标。
- 愿FileInputStream.available愚蠢吗?
- Logback扫描无法正常工作
- Java Servlet重写init(ServletConfig配置)
- 需要http 407代理身份validation:如何在java代码中处理
- 从JavaScript调用后,Applet URLConnection.connect失败
- 在Microsoft IIS 7中部署War文件
- java.lang.IllegalArgumentException:缩放常量数不等于颜色或颜色/ alpha分量的数量
- Jackson在Spring Boot中错误地序列化了ZonedDateTime
- java程序中if语句的作用域错误