wut*_*aer 4 dependencies unit-testing scope maven
我有一个父项目,它与范围测试有依赖关系
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.31.0</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
现在,当我将此父项目作为依赖项包含在我的子项目中时,我“mvn install”了父项目
<dependency>
<groupId>group</groupId>
<artifactId>parentproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
selenium-firefox-driver不可用。编译范围的依赖项可用。
我怎样才能使其可用?我不会在父项目和子项目中更改范围。因为我在运行时需要父类的一些类
正如 Charlee Chitsuk 在他的回答中所述,您的范围(在子项目中编译)将忽略所包含项目的测试依赖项。
一个干净的解决方案是将父项目的关注点分成两个单独的项目:
selenium-firefox-driver具有编译范围的测试依赖项(例如)。此外,该项目包含所有通用测试资源,例如src/main/java.parent-test在此包含test范围。在您的子项目中,您现在也可以包含parent-test范围测试,使您可以在正确的范围内访问其资源。
此设置将提供清晰的项目结构和清晰的范围,避免您提到的问题。是的,由于额外的项目,它有点复杂,但它也干净得多。
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |