文章目录
- 一、compile(默认范围)
- 二、test(用于测试)
- 三、provide
- 四、import(用来管理依赖版本)
- 五、system
- 六、runtime
- 版本仲裁
一、compile(默认范围)
- 范围最大哪里都能用
二、test(用于测试)
- 只有test文件夹下的程序能用
- 不会把自身使用的依赖向子工程传递
三、provide
- 程序正常打包,依赖不打包
- 如果服务器上不提前准备依赖,程序运行会报错。
- 不会把自身使用的依赖向子工程传递
四、import(用来管理依赖版本)
- 打包类型必须是pom
- 必须放在dependencyManagement中
- 用来管理依赖版本的
五、system
- 用路径来导入本地jar包的,需要写systemPath
- 很垃圾,移植性很差,狗都不用
六、runtime
- 使用方式
Class.forName("com.mysql.cj.jdbc.Driver");
- 编译时不使用,测试时和运行时使用
// 编译时不使用,解释很简单,下面这句会爆红
import com.mysql.cj.jdbc.Driver;
版本仲裁
- 最短路径优先
- 路径相同时先声明者优先