java - 不兼容的库版本 selenium/guava

标签 java selenium gradle guava

我的应用严重依赖 com.google.guava:guava:23.3 或 superior

+--- com.github.ben-manes.caffeine:guava:2.6.0
|    +--- com.github.ben-manes.caffeine:caffeine:2.6.0
|    \--- com.google.guava:guava:23.3-jre (*)

但我也在使用 org.seleniumhq.selenium:selenium-java:3.0.1,它与 guava 版本 > 22.0 不兼容,如此处讨论:

https://github.com/SeleniumHQ/selenium/issues/4381

我是 Java 的新手,最好的做法是什么?

我研究了类加载器,但它看起来像一个很深的兔子洞。

最佳答案

由于您使用 org.seleniumhq.selenium:selenium-java 对 com.google.guava:guava:23.3 有硬依赖: 3.0.1 可能会让你走上十字路口。但是 Selenium 发行说明 清楚地提到了以下 guava 依赖项:

  • Selenium v​​2.49.0:将 Guava 升级到版本 19
  • Selenium v​​3.1.0:需要更新到最新的 guava 版本 21.0
  • Selenium v​​3.5.0:将 guava 升级到版本 22。
  • Selenium v​​3.5.1:将 guava 升级到版本 23。
  • Selenium v​​3.12.0 : guava-23.6-jre
  • Selenium v​​3.13.0:guava-25.0-jre
  • Selenium v​​3.14.0:guava-25.0-jre
  • Selenium v​​3.141.0:guava-25.0-jre
  • Selenium v​​3.141.5:guava-25.0-jre
  • Selenium v​​3.141.59:guava-25.0-jre

结论

所以 Selenium v​​3.12.0guava-23.6-jre 这显然符合您的要求。

关于java - 不兼容的库版本 selenium/guava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284776/

相关文章:

java - 尝试提取嵌套 iframe 的 src 属性时出现陈旧元素引用异常

java - gradle可以创建java项目目录结构吗?

gradle - 运行任务时Gradle不会导入groovy类

java - Android应用程序如何在不使用Refresh和ReCreate的情况下重新启动应用程序?

java - 如何存储类的对象?

java - JButton 不显示文本;填充 JFrame

gradle - Gradle: native 构建(cpp插件)的任务结构是什么?

java - 为什么我的hibernate4 session.save()只能调用一次,不能连续调用

Selenium WebDriver 访问子元素

python - 使用 ChromeDriver 和使用 Selenium 的 Chrome 访问应用程序时,在访问消息之前检查浏览器