无法为serenity + jbehave配置pom.xml

时间:2017-03-14 23:42:53

标签: java maven pom.xml jbehave serenity-bdd

我在尝试执行时遇到了这些错误:

mvn clean verify -Dwebdriver.driver=chrome

Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4:enforce (verify) on project serenity-jbehave-showcase: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
[ERROR] Failed while enforcing releasability the error(s) are [
[ERROR] Dependency convergence error for com.google.guava:guava:19.0 paths to dependency are:
[ERROR] +-net.serenitybdd.showcase:serenity-jbehave-showcase:0.0.1-SNAPSHOT
[ERROR] +-net.serenity-bdd:serenity-core:1.2.2
[ERROR] +-com.google.guava:guava:19.0
[ERROR] and
[ERROR] +-net.serenitybdd.showcase:serenity-jbehave-showcase:0.0.1-SNAPSHOT
[ERROR] +-net.serenity-bdd:serenity-core:1.2.2
[ERROR] +-net.serenity-bdd:serenity-report-resources:1.2.2
[ERROR] +-com.google.guava:guava:19.0
[ERROR] and

等。

我需要在pom.xml中更改哪些内容才能使用mvn clean verify -Dwebdriver.driver=chrome运行我的测试?

我的pom.xml是

1 个答案:

答案 0 :(得分:0)

"等等"你引用可能有一些更相关的信息。不过,看看你拥有的东西,看起来你对guava有多个依赖关系,而且并非所有依赖关系都是同一个版本。 (请注意,其中一些可能是传递依赖项:那些被另一个依赖项作为依赖项包含的依赖项。)

maven-enforcer-plugin检测到单个库何时指定了多个版本,并且它会破坏构建。但是,如果您只是尝试运行快速测试,则可以添加-Denforcer.skip=true不建议长期使用,但仅限于运行单项测试。

长期来看,您最终需要使用Maven的dependencyManagement来强制使用特定版本的Guava,从而覆盖版本不匹配。