口语化描述Maven的依赖范围(scope),简略不详细

2023-12-29 13:33:32

一、compile(默认范围)

  • 范围最大哪里都能用

二、test(用于测试)

  • 只有test文件夹下的程序能用
  • 不会把自身使用的依赖向子工程传递

三、provide

  • 程序正常打包,依赖不打包
  • 如果服务器上不提前准备依赖,程序运行会报错。
  • 不会把自身使用的依赖向子工程传递

四、import(用来管理依赖版本)

  • 打包类型必须是pom
  • 必须放在dependencyManagement中
  • 用来管理依赖版本的

五、system

  • 用路径来导入本地jar包的,需要写systemPath
  • 很垃圾,移植性很差,狗都不用

六、runtime

  • 使用方式
Class.forName("com.mysql.cj.jdbc.Driver");
  • 编译时不使用,测试时和运行时使用
// 编译时不使用,解释很简单,下面这句会爆红
import com.mysql.cj.jdbc.Driver;

版本仲裁

  • 最短路径优先
  • 路径相同时先声明者优先

文章来源:https://blog.csdn.net/m0_46085118/article/details/135113572
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。