管理依赖的部署,分别有:
1、<scope>compile</scope>,compile默认,不写时默认就是<scope>compile</scope>,表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
2、<scope>test</scope>,表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。
<scope>test</scope>
是 Maven 中的一个依赖范围,它表示该依赖只在执行测试时使用。通常,这是用于 JUnit 和其他测试框架的。
解决方案:
如果你需要在测试范围内添加依赖,你只需要在你的 pom.xml
文件中的 <dependencies>
部分添加
<scope>test</scope>
就可以了。例如,如果你想要添加 JUnit 作为测试依赖,你可以这样写:
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
在这个例子中,JUnit 只会在运行测试的时候被使用,而不会在编译或者打包你的应用的时候被使用。
3、<scope>runntime</scope>,表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。
4、<scope>provided</scope>,表示打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。
5、<scope>system</scope>