查看文档http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html,我们可以看到<scope>
标签下<dependency>
那是什么以及我们如何使用它来运行测试?
Ort*_*kni 244
该<scope>
元素可以采用6个值:编译,提供,运行时,测试,系统和导入.
此作用域用于限制依赖项的传递性,还用于影响用于各种构建任务的类路径.
编
这是默认范围,如果未指定,则使用此范围.编译依赖项在项目的所有类路径中都可用.此外,这些依赖项将传播到依赖项目.
提供
这很像compile,但表示您希望JDK或容器在运行时提供依赖性.例如,在为Java Enterprise Edition构建Web应用程序时,您可以将Servlet API和相关Java EE API的依赖关系设置为提供的范围,因为Web容器提供了这些类.此范围仅在编译和测试类路径中可用,并且不可传递.
运行
此范围表示编译不需要依赖项,但是用于执行.它位于运行时和测试类路径中,但不是编译类路径.
测试
此范围表示正常使用应用程序不需要依赖关系,并且仅可用于测试编译和执行阶段.
系统
此范围与提供的类似,只是您必须提供明确包含它的JAR.工件始终可用,并且不会在存储库中查找.
导入(仅适用于Maven 2.0.9或更高版本)
此范围仅用于节中pom类型的依赖项.它表示应该用该POM部分中的依赖项替换指定的POM.由于它们被替换,具有导入范围的依赖性实际上不参与限制依赖性的传递性.
要回答你问题的第二部分:
我们怎样才能用它来运行测试?
请注意,test
作用域仅允许在测试阶段使用依赖项.
阅读文档以获取完整详细信息.
Pre*_*raj 11
六个依赖范围单行:
范围标签始终用于限制类路径级别的 jar 的传递依赖性和可用性。如果我们不提供任何范围,则默认范围将起作用,即Compile。
编译意味着您需要 JAR 来编译和运行应用程序。以 Web 应用程序为例,JAR 将放置在该WEB-INF/lib
目录中。提供意味着您需要 JAR 来编译,但在运行时环境已经提供了 JAR,因此您不需要将其与应用程序打包在一起。对于 Web 应用程序,这意味着 JAR 文件不会放入该WEB-INF/lib
目录中。对于 Web 应用程序,如果应用程序服务器已提供 JAR(或其功能),则使用“提供”,否则使用“编译”。
归档时间: |
|
查看次数: |
144090 次 |
最近记录: |