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你找到解决方法了吗?我想做同样的事情