栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Maven 管理多模块应用

Java 更新时间:发布时间: 百科书网 趣学号

目录

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

添加编译插件后 



    maven-compiler-plugin
    
    3.5.1
    
    
        1.8
        1.8
        
        UTF-8
    

 

 

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)子模块声明式添加依赖

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

 

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/956995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号