首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么maven忽略在测试依赖项中定义的编译传递依赖项的版本?

为什么maven忽略在测试依赖项中定义的编译传递依赖项的版本?
EN

Stack Overflow用户
提问于 2019-01-03 12:30:56
回答 1查看 117关注 0票数 0

在serenity.version设置为2.0.30的maven项目中,我有以下测试依赖项

代码语言:javascript
复制
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit</artifactId>
        <version>${serenity.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay</artifactId>
        <version>${serenity.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay-webdriver</artifactId>
        <version>${serenity.version}</version>
        <scope>test</scope>
    </dependency>

如您所见,这里将serenity 2.0.30的所有硒依赖项设置为3.141.59。

运行mvn -U dependency:tree -Dincludes=org.seleniumhq.selenium将输出以下内容

代码语言:javascript
复制
[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ core ---
[INFO] <snip>
[INFO] \- net.serenity-bdd:serenity-junit:jar:2.0.30:test
[INFO]    \- net.serenity-bdd:serenity-core:jar:2.0.30:test
[INFO]       +- org.seleniumhq.selenium:selenium-server:jar:3.141.59:test
[INFO]       |  +- org.seleniumhq.selenium:selenium-firefox-driver:jar:3.9.1:test
[INFO]       |  +- org.seleniumhq.selenium:selenium-ie-driver:jar:3.9.1:test
[INFO]       |  \- org.seleniumhq.selenium:jetty-repacked:jar:9.4.12.v20180830:test
[INFO]       +- org.seleniumhq.selenium:selenium-java:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-api:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-chrome-driver:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-edge-driver:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-remote-driver:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-safari-driver:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-opera-driver:jar:3.9.1:test
[INFO]       +- org.seleniumhq.selenium:selenium-support:jar:3.9.1:test
[INFO]       \- org.seleniumhq.selenium:htmlunit-driver:jar:2.29.3:test

我必须添加以下依赖项以避免运行时错误--为什么使用3.9.1版本,以及如何避免这种情况?

代码语言:javascript
复制
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>3.141.59</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>3.141.59</version>
        <scope>test</scope>
    </dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 13:29:04

结果是,spring依赖项-2.0.3.RELEASE将属性selenium.version设置为3.9.1,并列出了它的dependencyManagement节设置selenium.version中的selenium服务器工件,解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54022344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档