不兼容的库版本 selenium / guava

Incompatible library version selenium / guava

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

+--- 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 的新手,最好的做法是什么?

我研究了 class 装载机,但它看起来像一个很深的兔子洞。

由于您对 com.google.guava:guava:23.3 有严重的依赖性,因此使用 org.seleniumhq.selenium:selenium-java:3.0.1 可能会让您走上十字路口。但是 Selenium Release Notes 清楚地提到了以下 guava 依赖项:

  • Selenium v2.49.0 : 将 guava 升级到版本 19
  • Selenium v3.1.0 : 需要更新到最新的番石榴版本 21.0
  • Selenium v3.5.0 : 将 guava 升级到版本 22.
  • Selenium v3.5.1 : 将 guava 升级到版本 23.
  • Selenium v3.12.0 : guava-23.6-jre
  • Selenium v3.13.0 : guava-25.0-jre
  • Selenium v3.14.0 : guava-25.0-jre
  • Selenium v3.141.0 : guava-25.0-jre
  • Selenium v3.141.5 : guava-25.0-jre
  • Selenium v3.141.59 : guava-25.0-jre

结论

所以 Selenium v3.12.0 得到了 guava-23.6-jre 这显然符合您的要求。