NoClassDefFoundError:Could not initialize class com.sun.proxy.$Proxy65

今天用tomcat在启动web项目过程中报错,Could not initialize class com.sun.proxy.具体日志如下

可以看到创建Listen的bean失败了,然后影响到服务启动。这个问题是运行时找不到类实例,如果单纯看这个日志估计真的很难查出来。网上也有一堆类似问题的,说依赖冲突,依赖缺失,静态方法实例化。这些都检查了一遍没有问题。最后解决方法还是去看最开始的启动日志,看注入的eppcMqSvcFacade这个bean为啥实例化失败了。于是找到了最开始的注入日志。

这么看就有点诡异了,都是属于同样的写法。为啥这个类没走JDK动态动理实例化结束。而是一行与众不同的日志。这个就不讨论了。但是在末尾发现它实例化不了是因为ErrorCodeException找不到。仔细去看EppcMQSvcFacade类发现没有引用此类,然后去找引入的子类中有没有引用这个类。果然还真找到了,最后把子类中的包引用改为本项目中的ErrorCideException就解决了此问题。

这个问题来看: 是因为A服务引用B服务的jar包。而B服务又引用了C服务的jar包。但在过程中A并没有对此进行C实例化管理。C服务中的类就没有被正确实例化,从而影响了B服务的注入。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值