在Maven项目的pom.xml文件中,通常会给dependency设置scope属性,规定依赖jar包的使用范围
scope有以下5个取值:
compile: 编译范围,缺省值,适用于所有阶段,项目测试、打包发布期间都有效
provided: 已提供范围,该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译环境下有效,打包时不会加入,如servlet-api和jsp-api等jar
test: 测试范围,只在测试环境下使用,用于编译和运行测试代码,项目打包时不会加入,如junit
runtime: 运行范围,运行和测试环境使用,编译时不用加入classpath,打包时候会加入
system: 系统范围,与provided 类似,但是你必须显式的提供一个对于本地系统中JAR 文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分