Maven依赖的scope
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
一组dependency一般包含4个标签,groupId和artifactId相当于项目的定位.groupId是包名,artifactId是唯一ID.version代表版本号.而scope是为了限制dependency的作用范围.
- compile
- 是scope的默认值,表示此依赖会参与项目的编译,测试,运行和打包
- provided
- 会参与编译,测试和运行.不会被打包到artifact中.
- runtime
- 不会参与编译阶段.但在测试,运行和打包阶段都会参与.
- test
- 只参与测试和执行阶段
- system
- 需要告知maven如何去找到依赖,如果需要引用的依赖在Maven仓库不存在时会使用.
- import
- 从其他pom文件中导入依赖