java - 当我在项目中添加新库时相关库的协调版本

标签 java maven selenium gradle dependency-management

Selenium 有一个库
org.seleniumhq.selenium: Selenium java : 2.53.1

org.seleniumhq.selenium: Selenium 服务器 : 2.44.0

现在我需要为这个项目中的新任务添加 selenium 服务器依赖项,但是在添加 selenium 服务器依赖项时,我遇到了没有一些类的问题(例如 ' java.lang.NoClassDefFoundError: org/openqa/selenium/ImmutableCapabilities '),因此我在包含此类的 maven 中央模块中找到并将它们包含在项目中,但是此模块具有项目中已经存在的传递依赖项(并且有其他版本)

关键是传递模块没有我在第一个与 Selenium 相关的任务中使用的类

我如何找到无法尝试所有 libs 版本组合的 selenium 服务器 lib(及其传递依赖项)的真实版本

可能在 gradle 中存在这样的功能或为此存在单独的工具或服务

最佳答案

将以下依赖项添加到 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

关于java - 当我在项目中添加新库时相关库的协调版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50392413/

相关文章:

java - 有什么可以用 Servlet 而不是 JSP 来实现的,反之亦然

java - 嵌入 Tomcat 并向部署的应用程序发出请求

从netbeans到mysql的java连接问题

Python --version 不更新

Python Selenium - Chrome、Firefox 和 IE 的通用脚本

java - 如何跟踪 GWT 中的 JSNI 错误?

maven - 使用Maven编译Spark时出现问题

java - 将我的本地maven存储库同步到Nexus公共(public)存储库

java - 在 IntelliJ IDEA 中使用 Maven/pom.xml 声明对 Mockito 的依赖

java - 从容器中获取文本