idea中创建多Module的Maven工程 ,父子结构

起因

最近刚刚完成SSM框架的初步学习,使用SSM框架搭建了一个简陋的CRM系统,开始学习一个搭建电商网站的demo,使用的是SOA,面向服务的架构,使用idea开发,Maven来构建工程,旖旎词总结一下Maven的各种包的用途,以及在idea中如何创建相应的Module

pom jar war 三种打包方式

maven 中有三种打包方式

  1. pom工程: 用于父工程或者聚合工程(只是起到简化操作,将多个自工程聚合成一个工程,打包时直接对聚合工程构建,开发时按照各个子工程单独开发,本身没有实质性内容),主要目的时进行整个项目jar包的版本控制,jar包具体的依赖是在子工程中引入,当然子工程应该依赖父工程
  2. war工程,是要发布在服务器上的工程,例如SOA架构中的web层和service层
  3. jar工程, 被打包成jar包,在开发中提供jar包供其它类使用 ,例如通用的pojo类和utils类,其他工程想要.使用时进行依赖即可,与使用普通的jar包没有区别。

idea中创建三种工程的方式

父工程的创建:

父工程下可能有多个jar工程,聚合工程(pom包),war工程(SOA架构),父工程只是起到版本控制的作用,因此创建默认的类型即可,聚合工程和jar同样,war工程要发布到服务器与前面的不同。

非war工程的创建:
创建非war工程

war工程的创建:

war工程的创建

### 如何在 IntelliJ IDEA创建带有父子结构Maven 项目 #### 创建父项目 在 IntelliJ IDEA 中,可以通过以下方式创建一个父项目。首先新建一个 Maven 项目,在 `pom.xml` 文件中定义其为父项目,并设置 `<packaging>` 类型为 `pom`[^4]。 ```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>parentMavenProject</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <!-- 定义子模块 --> <modules> <module>childMavenProject</module> </modules> </project> ``` 上述配置表明该父项目包含了名为 `childMavenProject` 的子模块[^1]。 #### 添加子模块 右键点击父项目的根目录,选择 **New -> Module** 来添加一个新的 Maven 子模块[^2]。IDEA 自动会将新创建的子模块加入到父项目的 `pom.xml` 文件中的 `<modules>` 节点下。 对于子模块的 `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>parentMavenProject</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>childMavenProject</artifactId> </project> ``` 通过这种方式,子模块能够继承父项目的依赖管理和构建配置。 #### 解决可能的并发问题 当个子模块之间存在相互依赖时,可能会引发资源竞争的情况。为了避免此类问题,可以在父项目的 `pom.xml` 文件中合理安排各模块间的顺序以及版本控制逻辑[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值