首页 > 代码库 > Maven 的依赖范围和传递

Maven 的依赖范围和传递

  Maven 执行一系列编译、测试和部署运行等操作,在不同的操作下使用不同的Classpush ,依赖范围就是用来控制依赖与三种classpath的关系

  1. compile :编译依赖(默认),使用此依赖范围对于编译、测试、运行三种classpath 都有效,即在编译、测试和运行的时候都要使用该依赖jar包;
  2. test:测试依赖范围,只能用于测试classpath,而在编译和运行项目时无法使用此类依赖
  3. provite:此依赖范围,对于编译和测试classpath 有效,而对运行时无效;
  4. runtime:系统依赖范围,使用system范围的依赖时必须通过systempath元素显示地指定依赖文件的路径,不依赖仓库解析,所以会造成构建不可移植 

依赖范围不仅可以控制与三种classpath的关系,还对传递性依赖产生影响

技术分享

Maven 的依赖范围和传递