无法初始化主类 java.lang.NoClassDefFoundError

无法初始化主类 java.lang.NoClassDefFoundError

说一下很困惑的事情,最近在学spring然后在导入四个核心和一个依赖后写了一个简单接口和实现类来实现spring的IOC。在完成后点击运行就报出了:无法初始化主类,java.lang.NoClassDefFoundError…的错误。搜索资料后总结了一下产生这种情况的原因:

一、项目依赖的jar包未全部导入

如:java.lang.NoClassDefFoundError[Lorg/springframework/context/ApplicationContextInitializer,当你去查这个类的时候发现这个类是存在,之所以报错是因为在这个类里面的方法引用了其他jar包中的类的方法,而这个被引用的这个jar包刚好缺失,所以抛出这个错。

**解决办法:**一层一层去查找并导入缺失的jar包。

二、JDK与Spring版本不兼容

如:
Spring5.1.4就不兼容jdk11,此时只需把jdk11换成jdk8或9即可
**解决办法:**将自己的jdk更换为jdk1.8

eclipse中更改JDK版本:更改Eclipse中的JDK

总结

我只是简单模拟一下IOC,所以不会有缺少包的情况发生。然后又检查了该包是否依赖其他jar包,于是就将spring的所有包全部导入,发现问题还没有解决。然后在console中发现我的jdk竟然是1.4,感觉肯定是jdk的问题,便在eclipse中更改的jdk的版本,更改后发现运行正确、BUG解决,继续开启学习Spring之路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值