项目使用dubbo 、zookeeper服务报 Could not initialize class org.I0Itec.zkclient.ZkClient
2017-09-17 16:50
344 查看
项目中使用了dubbo 服务,用zookeeper 做注册中心,用的logback 作为日志框架,在启动项目时候报错如下:
看第一句 Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.I0Itec.zkclient.ZkClient
这句说是不能找到初始化ZKClient 类,查了网上资源,说是缺少 jar包,看项目pom, 确实引入了该jar
再网上翻启动日志, 看到一行
说是缺少log4j 包,这么说dubbo内部使用的log4j, 而我在我最后pom里加入了排除log4j
估计就是这个问题,然后 删除 log4j 排除 ,再重启,成功。
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.I0Itec.zkclient.ZkClient at com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperClient.<init>(ZkclientZookeeperClient.java:25) ~[dubbo-2.5.3.jar:2.5.3] at com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperTransporter.connect(ZkclientZookeeperTransporter.java:10) ~[dubbo-2.5.3.jar:2.5.3] at com.alibaba.dubbo.remoting.zookeeper.ZookeeperTransporter$Adpative.connect(ZookeeperTransporter$Adpative.java) ~[na:2.5.3] at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.<init>(ZookeeperRegistry.java:71) ~[dubbo-2.5.3.jar:2.5.3]
看第一句 Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.I0Itec.zkclient.ZkClient
这句说是不能找到初始化ZKClient 类,查了网上资源,说是缺少 jar包,看项目pom, 确实引入了该jar
<dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.3</version> </dependency>
再网上翻启动日志, 看到一行
java.lang.NoClassDefFoundError: org/apache/log4j/Logger at org.I0Itec.zkclient.ZkClient.<clinit>(ZkClient.java:57) ~[zkclient-0.3.jar:0.3] at com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperClient.<init>(ZkclientZookeeperClient.java:25) ~[dubbo-2.5.3.jar:2.5.3] at com.alibaba.dubbo.remoting.zookeeper.zkclient.ZkclientZookeeperTransporter.connect(ZkclientZookeeperTransporter.java:10) ~[dubbo-2.5.3.jar:2.5.3] at com.alibaba.dubbo.remoting.zookeeper.ZookeeperTransporter$Adpative.connect(ZookeeperTransporter$Adpative.java) ~[na:2.5.3]
说是缺少log4j 包,这么说dubbo内部使用的log4j, 而我在我最后pom里加入了排除log4j
<exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions>
估计就是这个问题,然后 删除 log4j 排除 ,再重启,成功。
相关文章推荐
- 项目使用dubbo 、zookeeper服务报 Could not initialize class org.I0Itec.zkclient.ZkClient
- 使用dubbo+zookeeper发布服务项目实践
- 使用dubbo与zookeeper搭建面向服务的架构工程
- Dubbo框架初探【用Spring配置声明暴露服务(可以使用multicast广播注册中心暴露服务地址或者使用zookeeper注册中心暴露服务地址)、加载Spring配置,启动服务】
- 为什么dubbo使用ZkClient作为zookeeper的客户端
- eclipse 使用maven 构建springboot+dubbo+zookeeper 构建soa服务(面向服务架构)
- 使用zkClient连接zookeeper服务
- 使用dubbo+zookeeper+spring boot构建服务的方法详解
- Dubbo+Zookeeper+SpringMVC整合实现微服务项目
- spring整合dubbo-2.5.3(使用TCP广播或者zookeeper 暴露和发现服务)
- 【备忘】使用dubbo、spring-boot等技术实现互联网后台服务项目架构视频教程
- Dubbo项目启动后,没有提供者。项目启动日志正常,DUBBO服务启动没有注册到zookeeper。
- 在Spring项目中集成使用dubbo实现分布式服务
- dubbo 使用 学习二(spring+dubbo+zookeeper单机服务)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- zookeeper项目使用几点小结
- ServiceStack 项目实例 005 使用第一个服务功能 (在MVC项目中)
- 开源的服务发现项目Zookeeper,Doozer,Etcd
- 使用curator实现zookeeper锁服务的示例分享
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)