常用scope介绍:
1)compile
maven默认的scope,表示依赖可以在生命周期中使用,而且这些依赖会传递到依赖的项目中。
2)provided
和compile相似,但是表明了该依赖由jdk或者容器提供。例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。
3)runtime
表示依赖不作用于编译时,而作用于运行和测试时。
4)test
表示依赖作用于测试时,不作用于运行时
5)system
跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。比如:
<dependencies>
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
</dependencies>
6)import(Maven 2.0.9 之后新增)
它只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置,例如 (B项目导入A项目中的包配置)