我有两个多模块项目。一是主项目树。另一个项目树从第一个项目中提取工件(WAR、JAR 等)。他们每个人都有自己独立的父 pom。
我想保持它们的版本号相同。项目 2 有一个依赖管理部分,其中包含来自项目 1 的工件。这样做的问题是由于快照,我无法发布项目。
例如。版本号(对于两个项目)是 3.4-SNAPSHOT。我可以发布项目 1 的 3.4 版本,所有 pom 版本都将从 3.4-SNAPSHOT 设置为 3.5。当我进入项目 2 时,我想做同样的事情。问题是项目 1 的依赖项是 3.4-SNAPSHOT,我不知道如何自动将它们变为 3.5。就像我希望在实际发布之前将依赖项更新到发布版本一样。
我知道如果我让两个树都从同一个父 pom 扩展,maven 发布插件会将依赖项检测为子模块并自动更新它们。
我阅读了一些关于版本插件的信息,但我不喜欢其中的 use-latest-versions 部分(这似乎很危险)。Update-properties 看起来很有希望,但粗略一看,它看起来像是打包的 use-latest-versions 插件略有不同。
此外,我尝试使用${project.version}
,但这与将 3.4-SNAPSHOT 作为依赖项基本相同 - 它会错误地说由于快照而无法发布,因为版本实际上尚未更新。