Maven 管理多模块应用

目录

1.创建 Maven 工程

1 ) 选择 Maven ,点击“Next ”下一步

2 ) 设置项目坐标 设置项目坐标 ,点击“Next

3 ) 设置项目名称和项目存放位置 ,点击“Finish ”

4 ) 配置导入设置

2. 将 maven 工程修改为父工程

1 )  设置 packaging  标签的内容

2 )  删除 src 目录 

3. 父工程添加编译插件 

4.创建子模块

1)选择 New Module

2)选择 maven 项目 

3)设置子模块坐标

4)设置模块名称及存放位置 

 5. 项目视图

6.添加依赖

1)添加 MySQL 依赖(父工程pom文件)

2)添加 MySQL 依赖后

7. 父工程管理依赖版本号 

1)父工程添加 dependencyManagement 

2)父工程 添加 properties 管理版本号

 3)子模块声明式添加依赖


1.创建 Maven 工程

1 ) 选择 Maven ,点击“Next ”下一步

2 ) 设置项目坐标 设置项目坐标 ,点击“Next

3 ) 设置项目名称和项目存放位置 ,点击“Finish ”

4 ) 配置导入设置

Maven 项目被修改后,需要“手动更新”或“自动更新”,自行选择

2. 将 maven 工程修改为父工程

1 )  设置 packaging  标签的内容

2 )  删除 src 目录 

3. 父工程添加编译插件 

项目中会统一使用 JDK 版本和编译级别,所以项目的编译级别必须统一一致,那么将编译插件添加到父工程,子模块会无条件去继承父工程的插件。

添加编译插件前
在 File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler

添加编译插件后 

<!-- 编译插件 -->
<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <!-- 插件的版本 -->
    <version>3.5.1</version>
    <!-- 编译级别 -->
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <!-- 编码格式 -->
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

 

 

4.创建子模块

1)选择 New Module

2)选择 maven 项目 

3)设置子模块坐标

Add as module to:选择将创建的模块添加哪个模块
Parent:选择模块的父工程
GroupId:选择父工程后,默认继承父工程的 GroupId 值
ArtifactId:模块的项目名称
Version:选择父工程后,默认继承父工程的 Version 值

4)设置模块名称及存放位置 

 5. 项目视图

6.添加依赖

执行后效果:

在父工程的 dependencies 标签里添加 MySQL 依赖,子模块会无条件继承父工程所有依赖。

1)添加 MySQL 依赖(父工程pom文件)

2)添加 MySQL 依赖后

7. 父工程管理依赖版本号 

以上写做法,子模块会无条件继承父工程的所有依赖,导致的问题是,本不需要的继承的依赖也会被继承,这就大大增加了项目模块最终打包的大小。

也就是说,父工程管理的是所有项目模块的依赖,而不是某一个项目模块的依赖,所以某一个项目模块不需要继承父工程中的所有依赖,这就需要子项目模块向父工程声明需要的依赖即可(声明式依赖)。而此时,父工程实际只需要管理依赖的版本号即可。

1)父工程添加 dependencyManagement 

 由于父工程通过 dependencyManagement 标签管理依赖,那么之前子模块无条件继承的依赖就全部消失。

2)父工程 添加 properties 管理版本号

在 properties 标签中,可以自定义标签名称来管理依赖的版本号,通常自定义的标签名称由“项目名称”+version 英文单词构成。被管理的依赖版本号由“${算定标签名称}”来代替。

 3)子模块声明式添加依赖

由于父工程管理依赖的版本号,那么子模块要想继承依赖,只能通过声明式来添加依赖,实际上,子模块中的依赖是继承父工程依赖的版本号;如果子模块已定义依赖版本号,那么以子模块定义的版本号为准。

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小鲁蛋儿

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值