本篇文章为你整理了Maven多模块管理(maven多模块项目的优缺点)的详细内容,包含有maven 多模块 maven多模块项目的优缺点 maven多模块版本控制 maven多模块配置文件 Maven多模块管理,希望能帮助你了解 Maven多模块管理。
项目的目录结构:
一、创建父工程的必须遵循以下两点:
1、packaging标签的文本内容必须设置为pom
1 ?xml version="1.0" encoding="UTF-8"?
2 project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
5 modelVersion 4.0.0 /modelVersion
7 groupId com.example /groupId
8 artifactId maven-parent /artifactId
9 version 1.0.0 /version
11 packaging pom /packaging
13 /project
2、把父工程中的src目录删除掉
二、创建子工程
1、新建module,勾选模块maven-parent为父模块
2、子模块的pom文件中,parent标签关联了父工程。父工程中新增modules标签,关联了子模块
子模块的pom文件
1 ?xml version="1.0" encoding="UTF-8"?
2 project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
5 parent
6 artifactId maven-parent /artifactId
7 groupId com.example /groupId
8 version 1.0.0 /version
9 /parent
11 modelVersion 4.0.0 /modelVersion
13 artifactId maven-child /artifactId
15 /project
父工程的pom文件
1 ?xml version="1.0" encoding="UTF-8"?
2 project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
5 modelVersion 4.0.0 /modelVersion
7 groupId com.example /groupId
8 artifactId maven-parent /artifactId
9 version 1.0.0 /version
11 modules
12 module maven-child /module
13 /modules
15 packaging pom /packaging
17 /project
三、父工程管理依赖
由于子工程是无条件继承父工程的所有依赖,使用 dependencyManagement 标签统一进行依赖管理, properties 标签管理依赖的版本号。子工程使用声明式方式实现依赖的有需要继承,防止子模块中的依赖冗余。
1 !--统一管理依赖的版本号--
2 properties
3 mysql.version 8.0.25 /mysql.version
4 junit.version 4.13.2 /junit.version
5 /properties
7 !--统一进行依赖管理--
8 dependencyManagement
9 dependencies
10 dependency
11 groupId mysql /groupId
12 artifactId mysql-connector-java /artifactId
13 version ${mysql.version} /version
14 /dependency
15 dependency
16 groupId junit /groupId
17 artifactId junit /artifactId
18 version ${junit.version} /version
19 scope test /scope
20 /dependency
21 /dependencies
22 /dependencyManagement
四、子工程按需要声明式继承依赖
dependencies
dependency
groupId mysql /groupId
artifactId mysql-connector-java /artifactId
/dependency
/dependencies
以上就是Maven多模块管理(maven多模块项目的优缺点)的详细内容,想要了解更多 Maven多模块管理的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。