Maven为多模块项目设置版本,其中并非所有模块的父pom都相同

Maven为多模块项目设置版本,其中并非所有模块的父pom都相同,maven,maven-3,pom.xml,parent-pom,Maven,Maven 3,Pom.xml,Parent Pom,我有一个项目,我捆绑了几个独立的模块,并通过一个项目管理它们 我希望能够在一个命令中设置它们的版本,如: mvn versions:set versions:commit -DnewVersion="$newVersion" 结构如下: base-pom/ |-- module1 | `-- pom.xml |-- module2 | `-- pom.xml |-- module3 | `-- pom.xml `-- pom.xml module1是一个基础架构模块,由modu

我有一个项目,我捆绑了几个独立的模块,并通过一个项目管理它们 我希望能够在一个命令中设置它们的版本,如:

mvn versions:set versions:commit -DnewVersion="$newVersion"
结构如下:

base-pom/
|-- module1
|   `-- pom.xml
|-- module2
|   `-- pom.xml
|-- module3
|   `-- pom.xml
 `-- pom.xml
module1
是一个基础架构模块,由
module2
module3
诀窍在于module1和module2父pom确实是我的
基本pom
,但module3父pom是其他东西,在回购协议中可用,并且仅与
module3
相关。 因为module2和module3都需要module1,所以我发现这个“reactor”模式对我来说是最好的选择,因为我可以将它作为依赖项使用,而不会出现任何问题。 到目前为止,我遇到的唯一问题是,我希望能够从基本pom目录在一个命令中设置所有模块的版本。 对于
基本pom
模块1
模块2
,它工作得非常好,但由于
模块3
父级不是
基本pom
,因此它不会更新


除了中间pom文件之外,还有其他解决方法吗?在我看来,这似乎太老套了。

这表明您的结构不适合您的需要,因为模块3不是多模块项目(聚合器)的一部分…您的
base pom/pom.xml
是否包含对
module3
的模块引用?@khmarbaise是的,因为我希望在我为我的基本pom编写mvn包后构建它,而您不应该拥有所述的
module3
模块,它不使用不同的父级…它应该使用
base pom/
作为父级…问题是为什么你想把它压入这个结构,因为听起来它不属于那里(分离关注点)…@buddy123你找到解决方法了吗?我希望做同样的事情,这表明您的结构不适合您的需要,因为模块3不是多模块项目(聚合器)的一部分…您的
base pom/pom.xml
是否包含对
module3
的模块引用?@khmarbaise是的,因为我希望在我为我的基本pom编写mvn包后构建它,而您不应该拥有所述的
module3
模块,它不使用不同的父级…它应该使用
base pom/
作为父级…问题是为什么你想把它压入这个结构,因为听起来它不属于那里(分离关注点)…@buddy123你找到解决方法了吗?我想做同样的事情