依赖范围就是用来控制依赖与这三种(编译classpath 、测试classpath、运行classpath)的关系,maven中的四种依赖范围:
compile:顾名思义就是编译依赖范围。这个范围在编译、测试、运行都有效。例如:spring中的jar包
test:只在测试中有效。例如:junit
provided: 只在编译、测试有效。例如:Servlet-api
runtime:只在运行是有效。例如:jdbc
system:和provied 一致。(但是路径要用systemPath)例如:
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scop>system</scop>
<systemPath> ${user}/lib/rt.jar</systemPath>
不建议使用。