文章目录
- 依赖管理
- 依赖传递
- 可选依赖和排除依赖
- 继承与聚合
依赖管理
指当前项目运行所需的jar,一个项目可以设置多个依赖
<!-- 设置当前项目所依赖的所有jar -->
<dependencies>
<!-- 设置具体的依赖 -->
<dependency>
<!-- 依赖所属群组id -->
<groupId>org.springframework</groupId>
<!-- 依赖所属项目id -->
<artifactId>spring-webmvc</artifactId>
<!-- 依赖版本号 -->
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
依赖传递
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
- 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
可选依赖和排除依赖
可选依赖和排除依赖的区别
- 可选依赖(optional):对外隐藏当前所依赖的资源
A依赖B,B依赖C,C不想被A依赖进来
<dependency>
<groupId>com.itheima</groupId>
<artifactId>maven_03_pojo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具有依赖传递性-->
<optional>false</optional>
</dependency>
- 排除依赖(exclusions):主动断开依赖的资源,被排除的资源无需指定版本
A依赖B,B依赖C,A不想将C依赖进来
<dependency>
<groupId>com.itheima</groupId>
<artifactId>maven_04_dao</artifactId>
<version>1.0-SNAPSHOT</version>
<!--排除依赖是隐藏当前资源对应的依赖关系-->
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
继承与聚合
-
聚合:
将多个模块组织成一个整体,同时进行项目构建的过程 -
聚合工程:
通常是一个不具有业务功能的空工程(有且仅有一个pom文件) -
作用:使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同步构建。
当工程中某个模块发生更新(变更)时,必须保障工程中与已更新模块关联的模块同步更新,此时可以使用聚合工程来解决批量模块同步构建的问题。 -
继承描述的是两个工程间的关系,子工程可以继承父工程中的配置信息,常见于依赖关系的继承
-
作用:
1、简化配置
2、减少版本冲突
1、创建工程
2、创建模块
打包类型 | 说明 |
---|---|
jar | 打包成jar,是默认的打包方式 |
war | 打包成war,发布在服务器上 |
pom | 用在父级工程或聚合工程,用于版本控制 |
聚合
<packaging>pom</packaging>
<modules>
<module>module1</module>
<module>module2</module>
</modules>
继承
<parent>
<groupId>org.example</groupId>
<artifactId>project1</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>