我正在致力于为大量相互依赖的模块自动化 maven 发布的项目。首先,该任务涉及获取内部依赖项的最新版本。比以一种在需要之前构建每个项目的方式对构建进行排序。希望这种组合能让我实现一键批量发布的目标。
但是我最大的问题是:我们不时分支项目,并且我们从该分支向 Nexus 存储库管理器发布/快照。显然,因为 groupId 和 ArtifactId 与主干相同 - 来自主干的快照/发布和来自分支的快照/发布最终位于 nexus 中的同一位置。
在我们有一个主干版本为 1.1.x 的 projectA 和 projectB → projectA 版本 1.1.x 的场景中,所以如果我使用 version-plugin 获取 B 的最新依赖项,我将获得最新的。(完美的)
但是,如果我稍后使用版本 1.2.0 分支 ProjectA 并添加我不希望 projectB 获取或可能破坏它的更改。现在下次我运行 projectB 并使用版本插件获取最新的,该插件将获取 ProjectA 的分支版本(1.2.0),因为它在数字上是最新的。就这样,projectB 构建失败了。
到目前为止,我已经尝试向工件添加分类器以区分两者,但后来我意识到插件不会对分类器起作用。
这让我非常沮丧,并会感谢任何提示或建议