Java 硒的maven范围试验
当我们在selenium项目的pom.xml文件中使用scope作为某些依赖项的测试时,有什么区别。 例子:两者的区别Java 硒的maven范围试验,java,maven,selenium,Java,Maven,Selenium,当我们在selenium项目的pom.xml文件中使用scope作为某些依赖项的测试时,有什么区别。 例子:两者的区别 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> <scope>test<
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
<scope>test</scope>
</dependency>
org.seleniumhq.selenium
硒爪哇
3.141.59
测试
及
org.seleniumhq.selenium
硒爪哇
3.141.59
默认范围是编译
此作用域在编译时将依赖项添加到项目中,并且在创建具有依赖项(或类似项)的JAR时也将导出该依赖项
test
范围仅添加了对测试源的依赖性(例如,在大多数情况下,单元测试/位于src/test
)。它只能从测试源访问,并且不会导出(除了测试JAR)
如果您只需要在项目的测试代码中使用selenium,我建议您在Maven中使用test
scope.依赖范围
用于限制依赖项的可传递性,这也会影响用于各种构建相关任务的类路径
目前,支持以下6个依赖项范围:
:编译
范围是默认范围,如果未指定,则使用该范围。编译依赖项在项目的所有类路径中都可用。这些依赖关系将传播到依赖项目编译
- Exmaple:
<scope>compile</scope>
<scope>provided</scope>
<scope>runtime</scope>
<scope>test</scope>
<scope>system</scope>
<scope>import</scope>
- Exmaple:
:运行时
范围表示在编译时不需要依赖项,而仅在执行时才需要依赖项。它位于运行时和测试类路径中,但不在编译类路径中运行时
- Exmaple:
<scope>compile</scope>
<scope>provided</scope>
<scope>runtime</scope>
<scope>test</scope>
<scope>system</scope>
<scope>import</scope>
- Exmaple:
:系统
范围与提供的类似,只是您必须提供明确包含它的JAR。工件始终可用,并且不会在存储库中查找系统
- Exmaple:
<scope>compile</scope>
<scope>provided</scope>
<scope>runtime</scope>
<scope>test</scope>
<scope>system</scope>
<scope>import</scope>
- Exmaple:
src/main/java
或项目的其他文件夹中的类使用??是的,只有在src/test/java
中,并且项目的依赖项也不能使用它。