org.apache.curator.framework.listen.ListenerContainer.addListener的解决方法
最近将几个服务注册到网关,需要增加zookeeper的jar包,有个服务升级之后一直报如下的错误:
Description:An attempt was made to call a method that does not exist. The attempt was made from the following location:org.apache.curator.framework.listen.ListenerContainer.addListener(ListenerContainer.java:40)The following method did not exist:com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;The calling method's class, org.apache.curator.framework.listen.ListenerContainer, was loaded from the following location:jar:file:/Users/liuqingchao/.m2/repository/org/apache/curator/curator-framework/2.9.1/curator-framework-2.9.1.jar!/org/apache/curator/framework/listen/ListenerContainer.classThe called method's class, com.google.common.util.concurrent.MoreExecutors, is available from the following locations:jar:file:/Users/liuqingchao/.m2/repository/com/google/guava/guava/26.0-android/guava-26.0-android.jar!/com/google/common/util/concurrent/MoreExecutors.classThe called method's class hierarchy was loaded from the following locations:com.google.common.util.concurrent.MoreExecutors: file:/Users/liuqingchao/.m2/repository/com/google/guava/guava/26.0-android/guava-26.0-android.jarAction:Correct the classpath of your application so that it contains compatible versions of the classes org.apache.curator.framework.listen.ListenerContainer and com.google.common.util.concurrent.MoreExecutors
看起来这里问题是找一个类没找到,根据提示是在:curator-framework/2.9.1/curator-framework-2.9.1.jar!/org/apache/curator/framework/listen/这个路径下找类ListenerContainer.class,没找到,然后后面提示com/google/guava/guava/26.0-android/guava-26.0-android里有这个类,此时试图修改exclude等来将类定向到guava,或者排除掉curator2.9.1,但是均已失败告终。
之后将curator升级到4.0.1,还是不解决问题,有些基础包还是依赖2.9.1,所以必须手动将其都升到4.0.1。
同时,根据同事的提示,将guava版本降低到20:
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>20.0</version></dependency>
仍然解决不了问题。
其实上面的错误提示信息是有误导的,我们不应该让curator去使用guava里的类,而应该想办法将curator从2.9.1全部升级到4.0.1版本。
尝试了很多次,发现只要在zookeeper-discovery-starter前指定org.apache.curator的版本号就可以了。完整代码:
<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-client</artifactId><version>4.0.1</version></dependency><dependency><groupId>com.****</groupId><artifactId>zookeeper-discovery-starter</artifactId><version>spring-2.x-curator-4.0.1-1.1.RELEASE</version></dependency>
这种问题很多时候是试出来的,记录一下,后面遇到类似的就可以参考了。
org.apache.curator.framework.listen.ListenerContainer.addListener的解决方法相关推荐
- IDEA报错解决:java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory
利用dubbo+zookeeper进行服务注册的时候报以下错误信息: java.lang.NoClassDefFoundError: org/apache/curator/framework/Cura ...
- 启动异常:java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory 解决方法
Springboot:Zookeeper整合Dubbo报错: java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorF ...
- apache服务出现Forbidden 403问题的解决方法总结
这篇文章主要介绍了apache服务出现Forbidden 403问题的解决方法总结,需要的朋友可以参考下 在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了 ...
- XAMPP中Apache因为端口原因不能启动的解决方法
XAMPP中Apache因为端口原因不能启动的解决方法 参考文章: (1)XAMPP中Apache因为端口原因不能启动的解决方法 (2)https://www.cnblogs.com/corvoh/p ...
- 服务器启动成功网页无法访问,apache启动后无法访问网页的解决方法
apache启动后无法访问网页的解决方法 发布时间:2021-01-27 11:31:08 来源:亿速云 阅读:146 作者:小新 小编给大家分享一下apache启动后无法访问网页的解决方法,希望大家 ...
- 403 Forbidden You don‘t have permission to access this resource. Apache Server at IP Port 80的解决方法
ECS下载站Forbidden You don't have permission to access this resource. Apache Server at IP Port 80的解决方法 ...
- 服务器系统无法安装net3.5,Windows Server 2012无法安装.NET Framework 3.5.1的解决方法
在Windows Server 2012 R2安装net只能通过服务器角色管理安装,但在安装时需要安装源,通常系统中是没有安装源的. 这里我们可以通过修改安装的更新源来进行解决. 原因分析:由于在Wi ...
- Caused by: java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory
springboot整合dubbo,apache的报错: 添加依赖: <dependency><groupId>org.apache.curator</groupId&g ...
- mantis apache mysql_软件测试(软件安装:php+mysql+apache+mantis过程遇到的问题以及解决方法)...
实验环境: Windows 7 64位操作系统 浏览器版本: Mozilla Firefox 41.0.0.5378 一.PHP的安装 ① 版本: php-5.4.45-Win32-VC ...
最新文章
- UINavigationController技巧一——修改返回按钮的标题
- 来!一起搭建个永久运行的个人服务器吧!
- 脑细胞膜等效神经网路简单分类实例
- Delphi编程实现是否开启“平滑屏幕字体边缘“
- linux如何生成so文件,新人问个问题,莫见笑:关于如何生成so文件,大家多多捧场啊...
- 修改element-ui源码使日期范围date-picker支持年范围选择
- 支持HTML5 SqlLite的AndroidApp
- 数据分析从入门到进阶,35本包邮送到家
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_09-修改页面-服务端-接口开发...
- python三大神器之fabric
- 系统服务器软件 服务器操作软件,服务器操作系统和服务器软件
- 【雅思大作文考官范文】——第四篇: 'power of advertising' essay
- 第三方支付线上产品分析
- 同一局域网、不同局域网共享和连接打印机设置
- 九宫格一条线连起来_9个圆圈用4条线连起来-九个点用四条线连接-数学-霍甲心同学...
- 电脑怎样文字转语音?给文字配音的方法其实有很多种
- python计算ks值 代码_python画KS图,求KS值
- ids for this class must be manually assigned before calling save(): com.jia.enity.Book;
- 轻聊 - 聊天室的设计思路
- 沈询 java进阶,7细品这杯香浓的咖啡 阿里中间件高级专家沈询的JAVA之旅