在maven的pom.xml文件中设置dependency标签的时候可以添加一个子标签
//如下:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
这个<scope>标签可以理解为,这个依赖包的作用域在哪
scope有以下6个值:
-
compile默认级别 --->编译,测试,运行都有效 -
provided---> 测试,编译时有效,比如java web项目,写代码的时候可以引入javaEE的类库,但是运行的时候WebService会提供各种javaEE的类库,所以可以使用这个标签 -
runtime---> 测试,运行时有效,典型的例子:jdbc驱动实现 -
test---> 只会在测试时有效,例如:junit -
system---> 只在编译和测试时有效,与本机系统相关联,可移植性差....没看懂 -
import---> 导入的范围,它只使用在<dependencyManagement>中,表示从其他的pom中导入dependency的配置