我有一个项目,我捆绑了几个独立的模块并通过一个项目管理它们我希望能够在一个命令中设置它们的版本,例如:
mvn versions:set versions:commit -DnewVersion="$newVersion"
结构如下:
base-pom/
|-- module1
| `-- pom.xml
|-- module2
| `-- pom.xml
|-- module3
| `-- pom.xml
`-- pom.xml
module1
是一个基础设施模块,两者都使用 诀窍是 module1module2
和module3
module2 父 pom 确实是 my base-pom
,但 module3 父 pom 是别的东西,在 repo 中可用并且仅与module3
. 由于 module2 和 module3 都需要 module1,我发现这个“反应器”模式对我来说是最好的选择,因为我可以将它用作依赖项而没有任何问题。到目前为止,我遇到的唯一问题是我希望能够在 base-pom 目录中的一个命令中设置所有模块的版本。它适用于base-pom
, module1
& module2
,但由于module3
parent 不是base-pom
,它不会更新。
除了中间 pom 文件之外,还有什么办法可以解决吗?在我看来似乎太hacky了。