创建Maven父子项目
# 父子-聚合项目介绍
通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。 这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。 所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。
# 新建父项目
# 打开Idea启动界面,选择New Project
选项
注意:如果软件启动不是这个界面,可以在File -> New Project选项
# 选择Maven项目
- 左边选择
Maven
- 勾选
Create from archetype
- 选择
org.apache.maven.archetypes:maven-archetype-quickstart
- Next
Tips:
为什么使用
create from archetype
?Maven 使用
archetype
(原型) 来创建自定义的项目结构,形成 Maven 项目模板。archetype
也就是原型,是一个 Maven 插件,准确说是一个项目模板,它的任务是根据模板创建一个项目结构。需要注意的点
不要混淆org.apache.maven.archetypes:maven-archetype-quickstart
和org.apache.wicket:wicket-archetype-quickstart
。
# 配置项目参数
# maven配置
- 选择本地的
maven
和相关配置 - 点击
Finish
# 创建成功
# 修改pom文件
项目由于使用的模板创建,创建成功后,
pom.xml
文件会产生较多不相干文件。因此,需要对pom.xml
文件按照自己的需求修改如下。
- 将打包方式修改成
pom
; - 添加
juit
和hutool
依赖,主要用于后面的测试。
<?xml version="1.0" encoding="UTF-8"?>
<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>edu.sueu</groupId>
<artifactId>mall-practice</artifactId>
<version>1.0-SNAPSHOT</version>
<name>mall-practice</name>
<description>mall-practice主要是对开源项目的一个学习记录</description>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- 引入hutool工具包 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.17</version>
</dependency>
</dependencies>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 创建子项目
# 右键父项目创建maven子模块
所谓的子项目,其实是maven module. 右键点击
parentMavenProject->New->Module
.
# 创建test-parent-hutool
子项目
# 父子项目目录
# 父项目pom.xml
文件
父项目就在原先的基础上多了一个
<modules>
...
<groupId>edu.sueu</groupId>
<artifactId>mall-practice</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>test-parent-hutool</module>
</modules>
...
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 子项目pom.xml
文件
子项目的指明了父项目为
mall-practice
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>mall-practice</artifactId>
<groupId>edu.sueu</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-parent-hutool</artifactId>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 测试Hutool
在子项目下,创建TestHutool
类,主要是测试父项目已经引用的依赖包Hutool
# 同步到Github
通过将项目同步到
github
,主要是起到一个云备份的作用。
# 本地初始化仓库
git init --initial-branch=main # 初始化当前文件问git仓库,并指定分支名为main,因为要与远程连接的github默认创建的分支名main匹配
git status # 查看当前仓库文件提交状态
git add . # 将所有文件提到到仓库暂存区
git commit -m "项目初始化" # 将所有暂存区文件提交到当前分支
1
2
3
4
2
3
4
# 创建Github远程仓库
# 本地与远程仓库的映射
git remote add origin <新建远程仓库地址>
git push -u origin main
1
2
2
Tips:
- 由于我们在初始化项目时,已经创建了分支名为
main
,因此可以直接进行提交。- 加上了
-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
# 参考文档
编辑 (opens new window)
上次更新: 2022/11/26, 22:18:38
- 01
- 基于微服务案例的Maven实战05-08
- 02
- 使用Seata彻底解决Spring Cloud中的分布式事务问题11-26
- 03
- Spring Boot整合RabbitMQ实现延迟消息11-26