持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情
Maven(进阶)
分模块开发与设计
意义:将原始模块进行拆分,方便调用。简单来说,就是为了让大家共享某个资源而做出的分模块开发
步骤
1.先把需要分割的模块进行独自拆分,并在需要使用的模块中导入坐标
2.在右边的maven对需要分割的模块所在的模块进行下载
3.在需要使用的模块进行编译
依赖管理
依赖指当前项目运行所需的jar,一个项目可以设置多个依赖
特点:
依赖具有传递性,下面用朋友指代依赖
简单来说就是A是B的朋友,C是A的朋友,那么A和C也是朋友
B相当于A的直接朋友,C相当于A的间接朋友
朋友冲突:当有相同的朋友而这个朋友在不同的眼中是不一样的,以最后认识ta的那个人的样子为主(绞尽脑汁想出来的)
可选依赖
通过在某个依赖的version下加入true可以将当前模块的依赖隐藏,也就是别的模块在maven中将看不到你所操作的依赖
可选依赖是在要隐藏的依赖所在的模块进行操作的
俗:自己的东西不想给别人用
排除依赖
依赖名
依赖名
排除依赖是隐藏当前资源对应的依赖关系
俗:不想用别人落后或是对自己不利的东西
聚合
有时,会有多个模块共同依赖于一个模块,那么,当被依赖的模块发生更新后,之前的模块可能会出现错误。此时就得使用聚合。
聚合工程的打包方式为pom
A是B的朋友,那么就得先有B这个人,因此先编译B再编译A
继承
概念:继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承
作用:1.简化配置 2.减少版本冲突
在聚合时,会出现一些问题。
1.模块中会出现相同的依赖
2.某些模块中存在相同的依赖
3.升级版本号,全都进行修改
1.大家都使用
2.只有一些模块要使用
在父模块中定义如下
在需要使用的子模块中导入如下坐标。此时子模块。注:不要加入版本号
属性
场景:在开发中,pop.xml文件中的版本有时候需要修改,而里面的坐标十分多,会导致修改十分不方便,因此定义一个属性来
场景:在开发中,pop.xml文件中的版本有时候需要修改,而里面的坐标十分多,会导致修改十分不方便,因此定义一个属性来
版本管理
多环境配置与应用
多环境开发
maven提供配置多种环境的设定,帮助开发者使用过程中快速切换环境
跳过测试
有时候会出现功能为完全更新完但需要上线项目的情况,此时应该跳过测试。
执行的项目构建指令必须包含测试生命周期,否则无效果。例如执行compile生命周期,不经过test生命周期
私服
私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题
私服默认登录端口:localhost/8081
私服仓库分类
资源上传与下载
在maven的conf的setting文件中配置本地仓库的url与地址
在模块的pop.xml中配置如下信息