我正在构建一个多模块项目,其中一个模块也是一个多模块项目。当我尝试使用-pl <multi-module child>
独立构建嵌套的多模块时,Maven只构建pom(子级的顶级模块),而不构建多模块项目中指定的其余模块。
如果我不使用-pl
并构建所有模块,一切正常,项目按预期构建。
任何想法为什么会发生这种情况,如果单独发布,我无法让Maven构建整个项目?
-pl
选项完全构建您指定的项目。 Maven将父POM视为常规项目,恰好是层次结构中的第一个项目。你可以做的是浏览你的“子多模块”项目并从那里执行Maven。选项-rf
(简历来自)也可能有效。
Maven没有充分的理由表现出来,除此之外,Maven总是表现得像-pm
。 -am
选项可以包括-pl
中列出的任何模块列出的模块,因为父级“在某种程度上取决于它们”,但因为它们不是严格意义上的依赖关系,所以Maven没有。
如果Maven是一个活跃的项目,新的-amm
也可以生成模块选项可能有所帮助。