学习mavnen的时候有几种依赖关系
首先,说一下maven的依赖关系用来干什么?
就是用来控制编译、测试、运行三种classpath的关系
1、compile 的范围
当依赖的scope为compile的时候,那么当前这个依赖的包,会在编译的时候将这个依赖加入进来,
并且在打包的时候也会将依赖加入进去,说白了就是编译范围有效嘛,在编译和打包的时候会存储进去
2、provided的范围
当依赖的scope为provided的时候,在编译和测试的时候有效,在
执行进去打包成war包的时候不得加入,比如servlet-api,因为servlet-api
tomacat等web服务器中已经有的了,如果在打包进去,就会有冲突
3、test的范围
scope为test的时候,只指的是在测试范围有效,在编译与打包的时候不会使用
这个依赖
4、runtime的范围
scope为runtime的时候,在运行的时候才会依赖,编译不会依赖
5、system(系统范围)
system的依赖范围跟到provided类似,但是必须显式的提供一个对于本地系统
中jar文件路径,意思就是讲scope设置为system,就必须同时提供一个
systempath元素,一般好像不得用这个玩意儿
注意:在默认的情况下scope的范围是compile