实验六:测试依赖的范围
1、依赖范围
标签的位置:dependencies/dependency/scope
标签的可选值:compile test provided system runtime import
①compile和test对比
main目录(空间) | test目录(空间) | 开发过程(时间) | 部署到服务器(时间) | |
compile | 有效 | 有效 | 有效 | 有效 |
test | 无效 | 有效 | 有效 | 有效 |
②compile和provided对比
main目录(空间) | test目录(空间) | 开发过程(时间) | 部署到服务器(时间) | |
compile | 有效 | 有效 | 有效 | 有效 |
provided | 有效 | 有效 | 有效 | 无效 |
③结论
compile:通常使用的第三方框架的jar包这样在项目实际运行时真正要用到的jar包都是以compile范围进行依赖的。比如SSM框架所需jar包。
test:测试过程中使用的jar包,以test范围依赖进来。比如junit
provided:在开发过程中需要用到的“服务器上的 jar 包”通常以 provided 范围依赖进来。比如 servlet-api、jsp-api。而这个范围的 jar 包之所以不参与部署、不放进 war 包,就是避免和服务器上已有的同类jar包产生冲突,同时减轻服务器的负担。说白了就是:“服务器上已经有了,就别带了!”