我有两个多模块项目。一个是主项目树。另一个项目树从第一个项目中引入工件(WAR,JAR等)。他们每个人都有自己独立的家长团队。在项目A发布时更新项目B中的依赖关系
我想保持其版本号相同。项目2有一个依赖项管理部分,其中包含来自项目1的工件。这个问题是因为快照而无法发布项目。
例如。版本号(对于两个项目)是3.4-SNAPSHOT。我可以发布项目1的3.4版本,所有的POM版本将从3.4-SNAPSHOT设置为3.5。当我进入项目2时,我想要做同样的事情。顺便说一下,项目1的依赖关系在3.4-SNAPSHOT,我不知道如何自动将它们设置为3.5。这就像我希望在实际发布之前将依赖关系更新到发布版本。
据我所知,如果我让两棵树从同一个父pom扩展,maven release插件会检测作为子模块的依赖关系并自动更新它们。
我读了一点关于versions plugin,但我不喜欢使用最新版本的一部分(它似乎危险)。更新属性看起来很有前途,但在第二次粗略的看起来,它看起来像使用最新版本的插件打包略有不同。
此外,我尝试了使用${project.version}
,但这基本上与将3.4-SNAPSHOT放入作为依赖关系相同 - 它会错误地表明它不能由于快照而释放,因为该版本实际上尚未更新。
我并不是说你的错,但似乎有点奇怪,他们都应该有相同的版本,但不同的父母。 。 。 – chad
它与包装有关。 Project 2基本上是一个项目,它将我们的工件捆绑到可部署的项目中。 Exes,rmsms,vms等我想最终我们希望把他们全部置于同一父母之下,但这是一个比我目前可以解决的更大的变化。 – tfecw
我们有一个类似的用例,即我们有构建的罐子和战争,然后是一堆二进制安装程序和类似的东西。我们最初也试图让他们都拥有相同的版本号,因为它们都是同一个“产品”的一部分,这似乎是有意义的。我们现在正在逐步为每一个作品提供自己的版本,以使它们更具独立性。这是一个复杂的故事。 。 。而且我们还没有清理到足以考虑自动化发布,唉。 – chad