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.