一、聚合
1. 定义
方便某一个模块改动了,全部模块都能及时知道。(同步构建,一键打包,一键编译...)这样就不用跟上一个博客分模块开发那样,还要手动install之后才能打包了。
2. 实现步骤
二、继承
1. 定义
简化相同配置,同时方便改动版本,减少冲突。
2. 实现步骤(在聚合的基础上)
在子模块中加 <parent></parent>
3. 配置可选择依赖(版本锁定 )(优点)
1⃣️父工程如果修改了依赖版本,子工程统一都修改了;
2⃣️父工程可以定义一些依赖的可选版本,子工程可以选择是否加入这些依赖,而且加入的时候不用写版本,直接用父工程定义的依赖版本。如果子工程不想用这些父工程提供的可选依赖,直接不写这些依赖就可以。(<dependencyManagement>)
父工程可选依赖定义:
子工程:
三、聚合和继承的区别
四、自定义属性(引用属性)
定义统一的属性,在坐标中直接用属性,做到统一管理的作用。
<properties>
<"".version> </"".version>
</properties>
然后版本的地方直接就用${"".version} 就可以。
如下图所示:
1. 步骤
2. 配置文件加载属性
现在不仅需要定义依赖的版本属性,我想直接把jdbc.properties配置文件里面的信息也放在模块中统一管理了,该怎么办呢?
1)定义属性
2)引用属性(这样maven就可以读取了)
3)扩大pom.xml文件的控制范围(使可以在properties配置文件也能使用)
和加入tomcat maven插件的时候挺像的,<build>;
filtering 是开启识别规则,让这个指定路径的资源文件 可以识别${};
${project.basedir} 是当前项目所在的目录,写在父工程里面,则所有子工程也有这个功能了。
4)maven用war打包时,要求有一个web.xml的配置文件。如果WEB-INF底下没有这个文件,就不能用war打包
可以直接创建一个空的web.xml文件,骗过maven检查。