Не могу настроить pom.xml для serenity+jbehave

Я получил эту ошибку при попытке выполнить:

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


person Pavel Kotau    schedule 14.03.2017    source источник


Ответы (1)


«и т. д.» в вашей ссылке, вероятно, есть более важная информация. Однако, исходя из того, что у вас есть, похоже, что у вас есть несколько зависимостей от guava, и не все из них являются одной и той же версией. (Обратите внимание, что некоторые из них могут быть транзитивными зависимостями: те, которые включены как зависимость другой зависимостью).

maven-enforcer-plugin определяет, когда для одной библиотеки указано несколько версий, и прерывает сборку. Однако, если вы просто пытаетесь запустить быстрый тест, вы, вероятно, можете добавить -Denforcer.skip=true. Это не рекомендуется для длительного использования, а только для запуска вашего одиночного теста.

В долгосрочной перспективе вам в конечном итоге потребуется использовать dependencyManagement Maven, чтобы принудительно использовать определенную версию Guava, отменяя несоответствие версии.

person Brandon    schedule 15.03.2017