maven学习

1、maven仓库

本地仓库  远程仓库  中央仓库

2、pom文件锁定依赖包版本

<dependencyManagement>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
</dependencyManagement>
使用标签<dependencyManagement>来执行锁定版本

3、直接依赖、传递依赖
直接通过坐标引入的依赖,称为直接依赖
传递依赖:引入了依赖包A,依赖包A中又自动引入了依赖包B,那么B就称为传递依赖

解决依赖包冲突:
  1、同一个依赖包在pom文件中位置从上到下的顺序优先加载
  2、同时存在直接依赖的包和传递依赖引入的包时,直接依赖包的优先级更高
  3、可以在dependency标签中使用exclusion标签排除引入的传递依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
<exclusion>
<artifactId>junit-jupiter-api</artifactId>
<groupId>org.junit.jupiter</groupId>
</exclusion>
</exclusions>
</dependency>
4、maven工程的拆分和聚合
工程:天生具有独立性
module:天生具有依赖性,继承了父工程的所有依赖,module与module之间可以通过添加依赖坐标进行引用
如:ssm框架可以拆分为一个父工程下有3个module,分别是dao、service、controller
service可以通过坐标引用dao进行数据的查询
controller可以引用service调用service的业务处理




posted @ 2020-11-03 20:52  caoyp  阅读(109)  评论(0编辑  收藏  举报