猿问

Maven:如何处理包含模块的模块?

以前我曾处理过由两个层次结构组成的多模块 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> 


炎炎设计
浏览 82回答 1
1回答

皈依舞

我在下面提供了一些大纲。根据问题,&nbsp;这都是根据 Maven 指南还是我正在处理定制的东西?是的,你可以有 Parent, Child, Grand child 类型的模块结构。Parent and Child 类型的 maven 多模块层次结构很简单,但在某些情况下,开发人员设计为在一个模块内有多个子模块。如果您的大型项目有 n 个模块和 m 个子模块,那么对于不同级别的开发人员来说,它会变得很复杂。根据这个问题,&nbsp;我该如何解释这些子模块?知道可以指点我的指南吗?&nbsp;为简单起见,如何管理取决于开发团队。我会建议,如果你有很多子模块,你可以创建/维护另一个独立的项目,你可以在需要的地方将依赖项添加到主项目中。它将为您提供该项目的粒度和单独的团队工作,而无需考虑主要项目。对于大型项目,始终建议维护独立的项目,您可以在其他项目中添加依赖。为此,您可以使用 Nexus 或 Artifactory 进行工件管理。
随时随地看视频慕课网APP

相关分类

Java
我要回答