Maven进阶
–分模块开发与设计
–聚合
–继承
–属性
–私服
1.分模块开发与设计
开发的时候是分包开发
一个人完成一个包即可;
甚至一个包需要多个人开发;需要对包进行拆分;
也就是将我们一个包的东西,拆分成一个工程;
关于导入一个Maven工程
接下来没有spring,因此直接手动学习配置;
模块拆分小结:
1.新建空模块
2.新建包;将原工程 的所有项目,挪过来;
3.复制完成后,有些不用的东西直接删除即可;
2.模块聚合
模块聚合解决的问题背景:
当进行模块拆分的时候,管理困难,其中一个模块进行更新,其相互依赖的模块不知道。为了方便其管理,进行模块聚合;
2.1添加一个工程
目的就是做模块管理,而不是做业务的模块
和普通maven模块一样,创建的空即可,不需要src
2.2定义pom来进行模块管理
看到这句话就表明,这个模块就是为了做模块管理的;
<package>pom</package>
2.3使用modules来定义管理哪些工程
<modules><module></module></modules>
module写入管理的工程名称,可以多个写入
无顺序关系;
3.关于资源文件的概述
所有资源文件都是以jar包存在
如果package什么都不写,那就是默认jar
模块的类型一共有三种:jar,war,pom
3.继承
模块依赖关系维护
来构建一个模块ssm来决定,其管理的模块的依赖资源的版本号
3.1父工程的写法
管理模块(package == pom)的定义父工程所需依赖,其他子类直接拿来用即可。
而且其定义依赖的方式
<depencyManagement> *** </dependencyManagement>
3.2子工程的写法
子工程是需要用父工程的东西;
<parent>gav<relativePath>填写父工程的pom文件</relativePath>
</parent>
3.3子工程gav变动
一旦继承父工程;
项目id与父工程不同
组id,version和父工程均保持一致;
4.继承或聚合的相同异同点
5.属性
对于父模块的配置也有可能存在版本统一的问题
为了解决此问题,我们引入属性;
通过属性配置一些版本等信号,后续大家直接用即可
写法
//里面写入具体的名称以及变量值;规范–技术名称.version
<properties><spring.version> 2.1 </spring.version>
</properties>
里面的spring.version可以理解为一个变量名
关于后面的资源如何使用此版本
${spring.version} 类似于shell的写法
具体如下:
6.版本管理
做工程的时候直接在version写即可
7.多环境开发配置
–定义出多环境
–使用多环境
profiles定义多环境
profile定义生产环境
id,properties定义环境属性值id等
使用环境
新建maven运行指令 直接-P 然后写入环境名称即可