在Maven中依赖的域有这几个:import、provided、runtime、compile、system、test
1compile 的范围
当依赖的scope为compile的时候,那么当前这个依赖的包,会在编译的时候将这个依赖加入进来,并且在打包(mvn package)的时候也会将这个依赖加入进去
意思就是:编译范围有效,在编译与打包时都会存储进去
2provided的范围
当依赖的scope为provided的时候,在编译和测试的时候有效,在执行(mvn package)进行打包成war包的时候不会加入,比如:servlet-api,因为servlet-api,tomcat等web服务器中已经存在,如果在打包进去,那么包之间就会冲突
3test的范围
当依赖的scope为test的时候,指的的是在测试范围有效,在编译与打包的时候都不会使用这个依赖
4runtime的范围
当依赖的scope为runtime的时候,在运行的时候才会依赖,在编译的时候不会依赖
注:在默认的情况下scope的范围是compile