在POM 4中,中还引入了,它主要管理依赖的部署。目前<scope>
常用的:
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
compile:会在编译,测试的时候将依赖加进去,打包的时候也会加进去。
provided:编译,测试的时候加进去,打包的时候不会加进去,就像servlet-api,会在tomcat里面提供,打包的时候不需要加进去。
runtime : 编译的时候不依赖,运行的时候依赖,例如mysql驱动。
test : 只有在测试的时候依赖这个包,编译,打包的时候不会加进去
对于依赖传递,现在只会传递compile的包