【发布时间】:2019-12-06 19:47:19
【问题描述】:
之前我曾处理过由两个层次结构组成的多模块 Maven 项目。父 POM 后跟它们自己的目录和 POM 中的模块。
但现在我已经接管了一个包含父级的项目,然后是再次包含模块的模块。
这一切都符合 Maven 指南,还是我在处理定制的东西?
我该如何解释这些子模块?知道你可以指点我的指南吗?
我可以成功运行所有 Maven 生命周期。虽然我不确定是否以及如何重构应用程序并开始插入我自己的代码。
这是我的项目结构树,只剩下几个模块:
top-parent
| pom.xml (modules: applications, checks, core, test)
|
+---applications
| | pom.xml (parent: top-parent) (modules: batch, surefire, web)
| <parent>
| <artifactId>applications</artifactId>
| <groupId>com.a.b.codechecker</groupId>
| <version>1.0</version>
| </parent>
| <artifactId>batch</artifactId>
|
| |
| \---web
| | pom.xml
| <parent>
| <groupId>com.a.b.codechecker</groupId>
| <artifactId>applications</artifactId>
| <version>1.0</version>
| </parent>
| <artifactId>web</artifactId>
|
+---checks
| | pom.xml (parent: top parent) (modules: aggregator, blacklist-check)
| <parent>
| <groupId>com.a.b.codechecker</groupId>
| <artifactId>parent</artifactId>
| <version>1.0</version>
| </parent>
| <groupId>com.a.b.codechecker.checks</groupId>
| <artifactId>checks</artifactId>
| |
| +---aggregator
| | pom.xml
<parent>
<artifactId>checks</artifactId>
<groupId>com.a.b.codechecker.checks</groupId>
<version>1.0</version>
</parent>
<artifactId>aggregator</artifactId>
【问题讨论】:
-
结构看起来很好,孩子的孩子有正确的父母,比如黑名单检查有父母检查..正确..实际上没有级别数限制......但是我。会质疑
test之类的模块名称吗? -
该模块“提供帮助类来简化自动化测试和测试数据生成”(来自自述文件)。但很高兴听到有几个级别通常没问题。聚合器中的
<groupId>com.a.b.codechecker.checks</groupId>和applications中没有显式的groupId之间有区别吗? -
您能否澄清“我如何解释这些子模块”这一行,以便我们为您提供帮助。
标签: java xml maven pom.xml parent-pom