My app has a hard dependency on com.google.guava:guava:23.3
or 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 (*)
But I am also using org.seleniumhq.selenium:selenium-java:3.0.1
which is incompatible with guava versions > 22.0 as discussed here:
https://github.com/SeleniumHQ/selenium/issues/4381
I am pretty new to Java, what is the best course of action here ?
I have looked into class loaders but that looks like a pretty deep rabbit hole.
Advertisement
Answer
As you have a hard dependency on com.google.guava:guava:23.3
using org.seleniumhq.selenium:selenium-java:3.0.1
may put you on cross roads. But Selenium Release Notes clearly mentions the following guava dependencies :
Selenium v2.49.0
: Bump guava to version 19Selenium v3.1.0
: Requires an update to the latest guava version 21.0Selenium v3.5.0
: Bump guava to version 22.Selenium v3.5.1
: Bump guava to version 23.Selenium v3.12.0
: guava-23.6-jreSelenium v3.13.0
: guava-25.0-jreSelenium v3.14.0
: guava-25.0-jreSelenium v3.141.0
: guava-25.0-jreSelenium v3.141.5
: guava-25.0-jreSelenium v3.141.59
: guava-25.0-jre
Conclusion
So Selenium v3.12.0
have got guava-23.6-jre which clearly fits to your requirement.