小编典典

什么是在下面在 pom.xml 中用于?

all

查看文档http://maven.apache.org/surefire/maven-surefire-
plugin/examples/testng.html,我们可以<scope>在下面看到标签<dependency>

那是什么,我们如何使用它来运行测试?


阅读 69

收藏
2022-06-10

共1个答案

小编典典

<scope>元素可以采用 6 个值: compileprovidedruntimetestsystem
import

此范围用于限制依赖项的传递性,并影响用于各种构建任务的类路径。

编译

这是默认范围,如果未指定则使用。编译依赖项在项目的所有类路径中都可用。此外,这些依赖关系会传播到依赖项目。

假如

这很像 compile,但表明您希望 JDK 或容器在运行时提供依赖项。例如,在为 Java Enterprise Edition 构建 Web
应用程序时,您可以将 Servlet API 和相关 Java EE API 的依赖设置为提供的范围,因为 Web
容器提供了这些类。此范围仅在编译和测试类路径上可用,并且不可传递。

运行

此范围表示依赖项不是编译所必需的,而是执行所必需的。它在运行时和测试类路径中,但不在编译类路径中。

测试

此范围表示该依赖项对于应用程序的正常使用不是必需的,仅适用于测试编译和执行阶段。

系统

此范围类似于提供的范围,只是您必须提供明确包含它的 JAR。工件始终可用,不会在存储库中查找。

导入 (仅在 Maven 2.0.9 或更高版本中可用)

此范围仅用于该部分中 pom 类型的依赖项。它指示应将指定的 POM 替换为该 POM
部分中的依赖项。由于它们被替换,具有导入范围的依赖项实际上并不参与限制依赖项的传递性。

要回答您问题的第二部分:

我们如何使用它进行运行测试?

请注意,test范围仅允许在测试阶段使用依赖项。

阅读文档以获取完整的详细信息。

2022-06-10