个人杂谈
关于maven中依赖的作用范围的简单理解
在学习maven的过程中看到了"<scope>
"标签,当时对这个标签的作用还不是很了解,后来自己学习之后有了大致的了解了,简单的记录一下。
<scope>标签用来声明当前引入的这个依赖的作用范围。常用的值大致有三种:
complie,test,provider.下面大致说一下这三个值的大致意思。
我是从项目的流程来理解这三个值的意思:
complie:
是否参与主程序:参与
是否参与测试程序:参与
是否参与打包:参与
是否参与部署:参与
test
是否参与主程序:不参与
是否参与测试程序:参与
是否参与打包:不参与
是否参与部署:不参与
典型:junit-api.jar
provider(一般指在上线运行时由servlet容器提供的依赖)
是否参与主程序:参与
是否参与测试程序:参与
是否参与打包:不参与
是否参与部署:不参与
典型:servlet-api.jar
tips:非complie范围的依赖不会有依赖的传递性。