首页 \ 问答 \ 不兼容的库版本selenium / guava(Incompatible library version selenium / guava)

不兼容的库版本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很陌生,这里最好的做法是什么?

我已经研究了类加载器,但看起来像一个非常深的兔子洞。


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.


原文:https://stackoverflow.com/questions/50284776
更新时间:2020-02-24 02:03

最满意答案

因为你对com.google.guava:guava:23.3 org.seleniumhq.selenium:selenium-java:3.0.1依赖性com.google.guava:guava:23.3使用org.seleniumhq.selenium:selenium-java:3.0.1可能会让你在十字路口。 但是Selenium发行说明清楚地提到了以下番石榴依赖性:

  • Selenium v2.49.0 :Bump guava到19版

  • Selenium v3.1.0 :需要更新最新的番石榴版本21.0

  • Selenium v3.5.0 :Bump guava到22版。

  • Selenium v3.5.1 :Bump番石榴到版本23。

  • Selenium v3.12.0guava-23.6-jre

所以Selenium v3.12.0guava-23.6-jre ,显然符合你的要求。


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 19

  • Selenium v3.1.0 : Requires an update to the latest guava version 21.0

  • Selenium v3.5.0 : Bump guava to version 22.

  • Selenium v3.5.1 : Bump guava to version 23.

  • Selenium v3.12.0 : guava-23.6-jre

So Selenium v3.12.0 have got guava-23.6-jre which clearly fits to your requirement.

2018-05-11

相关问答

更多

覆盖spark的guava依赖版本(override guava dependency version of spark)

您正在寻找着色选项。 看到这里,但基本上你需要添加着色指令。 像这样的东西: assemblyShadeRules in assembly := Seq( ShadeRule.rename("com.google.guava.**" -> "my_conf.@1") .inLibrary("com.google.guava" % "config" % "11.0") .inProject ) 对于喜欢maven的人来说,还有相应的maven-shade-plugin。 Y ...

无法在Eclipse中导入Guava的更多信息(Can't Import Guava's MoreAsserts in Eclipse)

测试包不在Guava版本中发布。 我认为这意味着番石榴测试本身,而不是普通大众。 这在Javadocs中也没有提及。 The testing package is not distributed in the Guava release. I think it is meant for the Guava tests themselves, not for the general public. It's not mentioned in the Javadocs either.

有没有办法使用guava库将目录复制到另一个路径?(Is there any way to copy a directory to another path using guava library?)

除了Files中相当基本的功能之外,Guava没有提供任何花哨的文件操作实用程序。 要复制整个目录,请使用其他库,例如commons.io.FileUtils.copyDirectoryToDirectory 。 Guava is not providing any fancy file manipulation utilities apart from the rather rudimentary functionality in Files. To copy whole directories ...

Janusgraph火花番石榴版(Janusgraph spark guava version)

当您提交将使用Janusgraph从/向HBase读取/写入的Spark作业时,会发生此问题。 问题的真正原因是每个组件都需要不同版本的番石榴,它具有非常快节奏的提交,并且不能确保版本之间的兼容性。 这里是快速查看版本依赖 - Spark v1.6.1 - Guava v14.0.1 HBase v1.2.4 - Guava v12.0 Janusgraph 0.1.1 - 番石榴v18.0 即使您在CLASSPATH中使用了所有三个jar,由于版本冲突,您将继续使用guava。 我解决它的方法是 ...

Ceylon模块系统:Guava类不匹配,即使依赖树中只有一个Guava(Ceylon module system: Guava class mismatch even though there's only one Guava in dependencies tree)

好的,我明白了。 问题是RoleConverter转换为ceylon.language.String ,而api期望转换为java.lang.String 。 现在修复它: shared class RoleConverter() extends Converter<Role, JString>() { shared actual Role doBackward(JString? name) { "Cannot convert null to role." ...

不兼容的库版本selenium / guava(Incompatible library version selenium / guava)

因为你对com.google.guava:guava:23.3 org.seleniumhq.selenium:selenium-java:3.0.1依赖性com.google.guava:guava:23.3使用org.seleniumhq.selenium:selenium-java:3.0.1可能会让你在十字路口。 但是Selenium发行说明清楚地提到了以下番石榴依赖性: Selenium v2.49.0 :Bump guava到19版 Selenium v3.1.0 :需要更新最新的番石 ...

检测使用哪种Guava版本?(Detect which Guava version is used? [duplicate])

您可以从guava.jar中的META-INF /下的文件中获取版本字符串。 在运行时,您需要使用适当的ClassLoader实例来加载所需的META-INF /文件。 您可以使用Guava的Resources实用程序类直接加载具有唯一名称的资源,也可以使用$someGuavaClassName.class.getClassLoader().getResources(String)在多个jar文件中遍历具有相同名称的资源。 如果你使用后者,那么你将需要使用someGuavaClassName将在你 ...

较新版本的osgified番石榴库(Newer version of osgified guava library)

我相信从版本12开始,Guava已经是一个OSGi包,因此不再需要guava-osgi项目。 I believe that since version 12, Guava is already an OSGi bundle, so the guava-osgi project is no longer required.

如何正确使用guava Closer(How to use guava Closer properly)

从番石榴自己的解释来看,你必须使用Throwable ,是的。 这是他们的示例代码段: public void foo() throws IOException { Closer closer = Closer.create(); try { InputStream in = closer.register(openInputStream()); OutputStream out = closer.register(openOutputStream()); // d ...

Guava Immutable版本的LinkedHashMultimap?(Guava Immutable version of LinkedHashMultimap?)

目前尚不清楚您是想要ListMultimap还是SetMultimap ,但几乎可以肯定在任何情况下都需要ImmutableListMultimap和ImmutableSetMultimap 。 像所有不可变集合一样,它仍然会像LinkedHashMultimap一样保留插入顺序。 Guava的不可变集合非常故意不可扩展。 It's not clear whether you want a ListMultimap or a SetMultimap, but you almost certainl ...

相关文章

更多

最新问答

更多
  • 如何保护Solr只允许SELECT请求给用户并禁止其他任何东西?(How to secure Solr to allow SELECT request to only users and disallow anything else?)
  • XPath表达式无效/错误TFHpple SWIFT 1.2(XPath Expression not working/incorrect TFHpple SWIFT 1.2)
  • css3 3D变换不能平滑地制作动画(css3 3D transform doesn't animate smoothly)
  • 运行时错误'91'和Outlook.Application = <对象变量或没有设置块变量>?(Run-time error '91' & Outlook.Application = Object variable or With block variable not set?)
  • 慢的webservice问题(Slow webservice problem)
  • textview的不正确对齐方式(Improper alignment of a textview)
  • 在第一步“Hello World”中出现Java错误(Cannot run “Hello World” program in Eclipse)
  • 为什么十六进制地址是14个字符?(why the hex address is 14 character?)
  • 如何在Python中的不同类中使用变量?(How to use variable in different classes in Python?)
  • asp:GridView HYPERLINKFIELD - datanavigateurlformatstring中的asp代码(asp:GridView HYPERLINKFIELD - asp code inside datanavigateurlformatstring)
  • 关于adaboost算法(About adaboost algorithm)
  • 在Matlab上内置图像(Built in Images on Matlab)
  • java swing:输入键事件时焦点丢失(java swing: Focus lost on enter key event)
  • C#中的通用约束,T是相同的TSomethingElse,对吧?(Generic constraints in C#, T is the same TSomethingElse, right?)
  • 从mybatis中的光标获取数据(Fetching data from cursor in mybatis)
  • 在运行时从XML构建对象的最佳方法(Best way for building objects out of XMLs at runtime)
  • 在整个窗口中拉伸sf :: Sprite(Stretch sf::Sprite across entire window)
  • Selenium Node API Web驱动程序等待超时处理程序(Selenium Node API web driver wait timeout handler)
  • 函数使用并且是map的一部分(循环依赖?)(Function uses and is part of map (circular dependency?))
  • 是否可以在C ++ 14中使用可选模板参数创建类型元组?(Is possible to make a tuple of types with optional template parameters in C++14?)
  • PHP从窗帘后面打印/ f(PHP prints /f from behind the curtains)
  • JFrame的contentPane的LayoutManager(LayoutManager of JFrame's contentPane)
  • 用于Instagram Feed的图像滚动(Image Roll Overs for Instagram Feed)
  • 如何显示拉伸字体(双倍宽度/高度)?(How to display stretched font (double width/height)?)
  • 文件操作API在fileapi.h和stdio.h中的WP8差异?(WP8 differences between file manipulation APIs in fileapi.h and stdio.h?)
  • 保存失败后Rails没有回滚事务()(Rails not rolling back transaction after failed save())
  • jqgrid中的分页问题与数组数据(Pagination problem in jqgrid with array data)
  • 重定向时,通过其他页面上的URL调用javascript函数(Call javascript function through url on otherpage while Redirecting)
  • 如何使用InvokeCommandAction调用我的方法并传入参数?(How do I go about using InvokeCommandAction to call a method of mine and pass in parameters?)
  • Jquerymobile按钮仅显示页面的第一个外观(Jquerymobile buttons are shown only first apperance of the page)