首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven嵌套多模块项目

Maven嵌套多模块项目
EN

Stack Overflow用户
提问于 2012-11-02 04:37:03
回答 3查看 2K关注 0票数 2

我正在构建一个多模块项目,其中一个模块也是一个多模块项目。当我尝试使用-pl <multi-module child>独立构建嵌套的多模块时,Maven只构建pom(子模块的顶级模块),而不构建多模块项目中指定的其余模块。

如果我不使用-pl并构建所有模块,一切都会正常工作,项目就会按预期构建。

你知道为什么会发生这种情况吗?如果我单独选择,我就不能让Maven构建整个项目?

EN

回答 3

Stack Overflow用户

发布于 2012-11-02 05:41:11

-pl选项将构建您指定的项目。Maven将父POM视为一个常规项目,恰好是层次结构中的第一个项目。您可以做的是浏览到您的“子多模块”项目,并从那里执行Maven。选项-rf (resume from)也可能起作用。

票数 2
EN

Stack Overflow用户

发布于 2021-03-16 14:03:37

我认为实现这一点的更好方法是使用-pl来引用其中一个孙子模块。因为它可能依赖于它的兄弟姐妹,所以will可能会达到同样的结果。

这个项目就是如何做到这一点的一个很好的例子:https://github.com/andyglick/maven-multi-level-modules-project

简而言之,你可以这样做:

代码语言:javascript
复制
mvn test -pl com.example:my-grandchild-module -am
票数 1
EN

Stack Overflow用户

发布于 2019-02-18 13:58:47

除了这就是Maven对-pm的一贯行为之外,没有什么好的理由让Maven这样做。-am选项可以包括-pl中列出的任何模块的模块,因为父模块在某种程度上“依赖于它们”,但因为它们不是严格意义上的依赖关系,所以Maven.

如果Maven是一个活动项目,那么一个新的make- -amm -modules选项可能会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13185072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档