分模块开发
将项目分成多个模块
要想使用其他模块需要导入其他模块的依赖
<dependency> <groupId>com.my</groupId> <artifactId>maven_03_pojo</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
被导入模块要使用Maven的install将模块写入本地仓库
依赖管理
依赖传递
依赖具有传递性:A类依赖B类,B类依赖C类,则A类间接依赖C类
因为依赖传递的存在,就会导致jar包在依赖的过程中出现冲突问题
可选依赖
可选依赖指对外隐藏当前所依赖的资源---不透明
设为可选依赖后,别的类再依赖这个类不会间接依赖可选依赖
设置可选依赖使用true标签
<dependency> <groupId>com.my</groupId> <artifactId>maven_03_pojo</artifactId> <version>1.0-SNAPSHOT</version> <!--可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖传递--> <optional>true</optional> </dependency>
排除依赖
排除依赖指主动断开依赖的资源,被排除的资源无需指定版本---不需要
一个类依赖另一个类可以设置排除依赖,来排除所依赖类中不想要的依赖
使用标签
<dependency> <groupId>com.my</groupId> <artifactId>maven_04_dao</artifactId> <version>1.0-SNAPSHOT</version> <!--排除依赖是隐藏当前资源对应的依赖关系--> <exclusions> <exclusion> <groupId>com.itheima</groupId> <artifactId>maven_03_pojo</artifactId> </exclusion> </exclusions> </dependency>
聚合和继承
聚合
将多个模块组织成一个整体,同时进行项目构建的过程称为聚合
聚合工程:通常是一个不具有业务功能的"空"工程(有且仅有一个pom文件)
作用:使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同 步构建
聚合工程主要是用来管理项目
继承
继承:描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信 息,常见于依赖关系的继承
作用: 简化配置 、减少版本冲突
聚合与继承的区别
两种之间的作用:
聚合用于快速构建项目,对项目进行管理
继承用于快速配置和管理子项目中所使用jar包的版本
聚合和继承的相同点:
聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中
聚合与继承均属于设计型模块,并无实际的模块内容
聚合和继承的不同点:
聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己
属性
定义:使用标签
<properties> <spring.version>5.2.10.RELEASE</spring.version> <junit.version>4.12</junit.version> <mybatis-spring.version>1.3.0</mybatis-spring.version> </properties>
属性使用${属性名}
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency>
Maven中属性分为:自定义属性、内置属性、Setting属性、Java属性、环境变量属性