Maven 执行一系列编译、测试和部署运行等操作,在不同的操作下使用不同的Classpush ,依赖范围就是用来控制依赖与三种classpath的关系
- compile :编译依赖(默认),使用此依赖范围对于编译、测试、运行三种classpath 都有效,即在编译、测试和运行的时候都要使用该依赖jar包;
- test:测试依赖范围,只能用于测试classpath,而在编译和运行项目时无法使用此类依赖
- provite:此依赖范围,对于编译和测试classpath 有效,而对运行时无效;
- runtime:系统依赖范围,使用system范围的依赖时必须通过systempath元素显示地指定依赖文件的路径,不依赖仓库解析,所以会造成构建不可移植
依赖范围不仅可以控制与三种classpath的关系,还对传递性依赖产生影响
时间: 2024-10-13 21:23:46