guava jar 包冲突:java.lang.NoSuchMethodError: com.google.common.base.Platform.systemNanoTime()J

古城微笑少年丶 2021-11-22 07:02 879阅读 0赞

zuul 里面会引入 guava 的jar 包,默认版本是18

业务系统A中又引入了一个三方包,三方包中也引入guava 的jar 包,版本是比18更低的版本

现在的问题在于,业务系统A 中通过zuul 路由的时候,引用了 guava 的一个低版本,导致 高版本中的方法调用不到,提示:

NoSuchMethodFound

  1. - Exception encountered during context initialization - cancelling refresh attempt:
  2. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with
  3. name 'ribbonLoadBalancingHttpClient' defined in
  4. org.springframework.cloud.netflix.ribbon
  5. .RibbonClientConfiguration$HttpClientRibbonConfiguration:
  6. Unsatisfied dependency expressed through method 'ribbonLoadBalancingHttpClient' parameter
  7. 2; nested exception is org.springframework.beans.factory.BeanCreationException:
  8. Error creating bean with name 'ribbonLoadBalancer' defined in
  9. org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration:
  10. Bean instantiation via factory method failed; nested exception is
  11. org.springframework.beans.BeanInstantiationException: Failed to instantiate
  12. [com.netflix.loadbalancer.ILoadBalancer]:
  13. Factory method 'ribbonLoadBalancer' threw exception;
  14. nested exception is java.lang.NoSuchMethodError: com.google.common.base.Platform.systemNanoTime()J

而这两个依赖jar 包都不能少,最后的一个解决办法就是:

把三方包中引入的低版本的guava 去掉。

具体操作是:将jar 文件解压,然后删除其中涉及到guava 的部分,重新打包成 jar ,再引入业务系统即可。

将文件夹打包成jar 文件可以参考:将文件夹打成jar 包

发表评论

表情:
评论列表 (有 0 条评论,879人围观)

还没有评论,来说两句吧...

相关阅读

    相关 idea解决jar冲突

    血找了一天的问题,最后是jar包冲突导致。事实证明敲代码还是不能浮躁。记录一下排除jar包冲突的方法,so easy 1、打开jar包冲突的类,ctrl+n 2、i...

    相关 IDEA解决jar冲突

    简介 因为平时项目整合的jar包太多,今天遇到一个包冲突的问题,昨天能运行的项目,今天突然不能运行了(后来知道是因为新加入了依赖,产生了冲突),并且报错提示与实际情况又不

    相关 maven排查冲突jar

    1. 问题描述 使用maven可以非常方便的管理我们项目的各种依赖,但是也存在着一些问题。当我们在pom.xml文件中引入新的jar包,那么该jar包依赖的其它jar包也

    相关 maven解决jar冲突

    1. maven默认使用第一声明优先的原则,即谁先声明,就使用谁。这个声明的依赖包也是优先进入项目的。 2. 路径近者优先原则。jar包导入时分如下两种。直接依赖要比传递依