第一章 Maven的依赖管理
1.1 依赖范围
- 依赖语法:<scope>
- compile【默认值】:在main、test、Tomcat【服务器】下均有效。
- test:只能在test目录下有效
- junit
- provided:在main、test下均有效,Tomcat【服务器】无效。
- servlet-api
1.2 依赖传递性
-
路径最短者有先【就近原则】
-
先声明者优先
-
注意:Maven可以自动解决jar包之间的依赖问题
第二章 Maven中统一管理版本号
-
语法
<properties> <spring-version>5.3.17</spring-version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring-version}</version> </dependency> </dependencies>
第三章 Maven的继承
3.1 为什么需要继承
- 如子工程大部分都共同使用jar包,可以提取父工程中,使用【继承原理】在子工程中使用
- 父工程打包方式,必须是pom方式
3.2 Maven继承方式一
-
在父工程中的pom.xml中导入jar包,在子工程中统一使用。【所有子工程强制引入父工程jar包】
-
示例代码
<packaging>pom</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
3.3 Maven继承方式二
-
在父工程中导入jar包【pom.xml】
<packaging>pom</packaging> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement>
-
在子工程引入父工程的相关jar包
<parent> <artifactId>maven_demo</artifactId> <groupId>com.atguigu</groupId> <version>1.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies>
-
注意:在子工程中,不能指定版本号
第四章 Maven的聚合
-
为什么使用Maven的聚合
- 优势:只要将子工程聚合到父工程中,就可以实现效果:安装或清除父工程时,子工程会进行同步操作。
- 注意:Maven会按照依赖顺序自动安装子工程
-
语法
<modules> <module>maven_helloworld</module> <module>HelloFriend</module> <module>MakeFriend</module> </modules>