idea 搭建一个maven 父子项目

什么是maven 父子项目?

意思就是:相当于一个家庭,一个家庭有一个父亲,可能有多个子女。父亲管子女,子女继承父亲的一切;父子工程也一样,目前很多微服务采用了这种模式。

  1. 父工程:父工程又称为父控制器,只是一个简单的工程,不能单独运行。作用是将子模块跟子工程聚合在一起。父控制器中的pom.xml配置,在子模块跟子工程中都可以被继承。
  2. 子工程:项目中创建的具有业务逻辑并且可以单独部署的的子模块称为子工程,一个项目中不同的子工程通过在pom.xml中添加同一个父工程而整合在一起。
  3. 子模块:提取出了一些子工程中通用的模块,做成jar包。当子工程需要使用的时候只要在pom.xml中添加依赖就好了。

通过idea构建一个父子项目

  1. File  ->  new  -> project  或在idea 项目选择界面 new project。

 2.直接Next (下一步) ,填写项目名称等信息,其中:groupId 和 artifactid是什么意思在前面的文章中已经介绍过了      一. 创建一个简单的spring-boot项目

3.点击finish 完成创建,父工程创建完成,父工程部能单独运行,所有删除掉src文件夹

4.创建子模块 

 

 什么是archetype?

archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。不选择模板也是可以的。

5.网站一般建议现在两种模板:

maven-archetype-quickstart

maven-archetype-webapp

 区别在于:

  • maven-archetype-quickstart

 

 项目里,除了pom.xml外,只有main、test两个包,包里放了一个App、AppTest类

  •  maven-archetype-webapp

 

项目里,只有webapp目录,里面包含了web-inf有web.xml和一个index.jsp

pom.xml里面内容差不多一样的,就不列举了

6.不选择任何模块,进行创建

 

 项目里:有java  resources文件夹

其他骨架原型说明,41个的已经比较老了,目前有60个骨架原型,可根据自身需要进行选择

maven提供的41个骨架原型_GIS摆渡人-优快云博客

子模块与子模块引用

1.我采用maven-archetype-quickstart 构建了两个模块

 provider 为:数据提供者,api 为:与前端交互者

在provider 创建一个类:DateSourceService

在 api 模块的pom.xml中引用 provider 模块

 测试一下,是否能放到到  DateSourceService:

 

### 配置 IntelliJ IDEA 中的 Maven 多模块项目IntelliJ IDEA 中配置 Maven 的多模块项目涉及多个方面,包括项目的 `pom.xml` 文件设置以及子模块的相关配置。以下是关于如何正确配置 Maven 父子工程的具体说明。 #### 1. **项目的 POM 文件** 项目的 `pom.xml` 是整个多模块项目的根文件,它通过 `<modules>` 和 `<module>` 标签来声明所有的子模块[^2]。以下是一个典型的项目 `pom.xml` 示例: ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 项目的坐标 --> <groupId>com.example</groupId> <artifactId>parent-project</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <!-- 子模块列表 --> <modules> <module>child-module-a</module> <module>child-module-b</module> </modules> </project> ``` 上述代码片段展示了如何定义一个多模块项目及其子模块结构。 #### 2. **子模块的 POM 文件** 每个子模块也需要有自己的 `pom.xml` 文件,并且需要指定其项目。这可以通过 `<parent>` 标签实现。下面是一个子模块的 `pom.xml` 示例: ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 声明当前模块的项目 --> <parent> <groupId>com.example</groupId> <artifactId>parent-project</artifactId> <version>1.0-SNAPSHOT</version> </parent> <!-- 当前模块的坐标 --> <artifactId>child-module-a</artifactId> </project> ``` 此部分明确了子模块与其项目的关联关系。 #### 3. **IntelliJ IDEA 中导入多模块项目** 当使用 IntelliJ IDEA 导入 Maven 多模块项目时,可以按照如下方式操作: - 打开 IntelliJ IDEA 并选择 “Import Project”。 - 浏览并定位到项目的 `pom.xml` 文件。 - IDE 将自动识别所有子模块并将它们作为独立模块加载[^1]。 如果遇到任何问题,可以在 Maven 工具窗口中手动刷新项目以确保所有依赖项被正确解析。 #### 4. **目录结构** 为了便于管理,建议遵循标准的目录层次结构。例如: ``` parent-project/ ├── pom.xml # 项目的POM文件 ├── child-module-a/ │ └── pom.xml # 子模块A的POM文件 └── child-module-b/ └── pom.xml # 子模块B的POM文件 ``` 这种清晰的布局有助于开发者快速理解项目的整体架构。 --- ### 总结 以上内容涵盖了如何在 IntelliJ IDEA 中配置 Maven 父子工程项目的关键步骤。通过合理设计项目的 `pom.xml` 文件和各子模块的关系,能够有效提升开发效率并简化构建过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路灯下的程序员

你的鼓励是我继续努力的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值