координационные версии связанных библиотек, когда я добавляю новую библиотеку в проект - PullRequest
0 голосов
/ 17 мая 2018

Существует одна библиотека для селена org.seleniumhq.selenium: селен-ява : 2.53.1

org.seleniumhq.selenium: Селен-сервер : 2.44.0

Теперь мне нужно добавить зависимость от сервера селена для моих новых задач в этом проекте, но при добавлении зависимости от сервера селена я сталкиваюсь с проблемой, заключающейся в том, что нет некоторых классов (например, java.lang.NoClassDefFoundError: org / openqa / selenium / ImmutableCapabilities '), поэтому я нахожу в maven центральные модули, которые содержат эти классы и включают их в проект, но у этих модулей есть переходные зависимости, которые уже существуют в проекте (и имеют другие версии)

Ключевым моментом является то, что переходные модули не имеют классов, которые я использую в своей первой задаче, связанной с селеном

Как мне найти истинную версию для lib сервера selenium (и его транзитивных зависимостей), чтобы я не мог попробовать все комбинации версий libs

Может быть, в Gradle существует такая функция или существует отдельный инструмент или служба для этого

1 Ответ

0 голосов
/ 17 мая 2018

Добавьте приведенную ниже зависимость в Maven pom.xml следующим образом:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.11.0</version> 
</dependency>

вы можете изменить версию 3.11.0 на другую, Maven загрузит все переходные зависимости для вас.

ВыРазыскиваемый класс ImmutableCapabilities не входит ни в selenium-java.jar, ни в selenium-sever.jar.Но в selenium-api.jar следующее:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...