我在 maven/jenkins 中遇到了一个多模块项目的问题。例如我的结构是这样的:
---ProjectA
----pom.xml
--------ModuleA
---------pom.xml
--------ModuleB
---------pom.xml
---ProjectB
-----pom.xml
例如,ModuleA 对 ProjectB 中的某些内容具有依赖关系,该依赖关系在 ModuleA 的 pom 中定义,除了仅定义为属性并从 ProjectA 的属性部分继承的版本。
我想自动化发布过程,以摆脱所有 pom 中所有版本的手动更新。因此,在发布 ProjectB 之后,我将在 ProjectA 中添加所有引用。
编辑 更准确地说,我想发布 ProjectB,它必须包含 ProjectA 的发布(因为依赖关系),并且在 ProjectA 的新快照中,我想要引用最新的 ProjectB。
如果在同一个 pom.xml 中指定依赖项和版本号,maven 插件版本可以很好地做到这一点。如您所见,我的问题是(我在推测)当版本插件尝试检查 ProjectA 的 pom 中的属性字段时,该属性不能与依赖项关联。而且我猜版本插件看起来在有效的 pom 上,因为它可以发现 ModuleA 的 pom 中的依赖项应该被更新。它只是无法更新它,因为它没有在那里定义。
对于可以将我的属性保留在父 pom.xml 中的解决方案将非常有必要。
谢谢