分模块开发的意义
将原始模块按功能拆分成若干子模块, 方便模块之间相互调用,接口共享
分模块开发与设计
分离模块 1 首先创建maven模块
2 书写代码
3 把模块install到本地仓库
依赖传递
依赖的依赖
依赖具有传递性 可以直接使用依赖的依赖
问题:依赖冲突
当依赖的依赖 依赖不同版本的包时 如何解决冲突问题?
通过idea直观的看maven 然后根据之前的规则把依赖调好就ok了
可选依赖和排除依赖
可选依赖(自己控制自己)
排除依赖 (排除别人的依赖)
聚合与继承
聚合
创建一个用来管理其他工程的工程
继承
使用后大部分通用包写在总工程中,其他的模块只导入相关的内容就行
可选择的继承
部分人使用,不是大家公用的
子类自行进行调用,不要加版本 ,版本自动跟随父版本
实现步骤
属性
方便批量修改
定义属性
使用
配置文件加载属性
使用pom文件控制配置文件
因为子代都继承了主工程,所以{project.basedir}内置的系统属性
打war包时 如果项目WEB-INF没有web.xml则会报错
使用插件解决
版本管理
多环境
-
项目需要在多环境下跑
-
实现
-
使用环境
-
默认使用默认环境
跳过测试
idea给的方法 但是只要选了就跳过全部test
指定跳过某些方法
- 等同于闪电符号
- 细粒度管理
私服
用于解决团队内部的资源共享和资源同步 模拟一台中央服务器
启动私服
- 启动服务器
- 使用
localhost:8081
账号是admin
私服仓库分类
- 私服资源操作流程
中央仓库 私服 仓库组
本地仓库访问支援配置
资源上传和下载
配置本地仓库对私服的访问权限
在setting中
<server>
<id>私服中的服务器id名称</id>
<username>repouser</username>
<password>repopwd</password>
</server>
配置私服的访问路径
找仓库组
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
私服资源的上传与下载
使用deploy指令发布
要保证子模块都继承主模块或者自己写dietributionManagement