java.lang.ClassNotFoundException: sun.misc.BASE64Decoder

文章描述了一个在启动应用服务时遇到的错误,具体是java.lang.ClassNotFoundException:sun.misc.BASE64Decoder。这个异常由于sun.misc.BASE64Decoder类在新版本的JRE中被废弃并移除。作者尝试通过切换IDEA工程的SDK至Java1.8来解决,成功避免了异常,使得应用服务能够正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个新的应用服务,idea启动应用应用服务时,突然报错java.lang.ClassNotFoundException: sun.misc.BASE64Decoder ,然后在网上搜索,说是建议使用apache包,该类新的JRE已经废弃,并从rt.jar包中移除。但是该异常堆栈实在一个jar包中,应用服务实例化一个bean时,就会初始化,如果出现异常,进而应用服务无法启动成功。

再现

堆栈信息如下

Caused by: java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 46 more

定位到源代码:
在这里插入图片描述
然后尝试搜索相关办法,没有解决。我尝试通过如下方法,从idea工程,找到file菜单,找到如下
在这里插入图片描述
然后修改SDK为1.8
在这里插入图片描述
在这里插入图片描述
这时候如上图,该类不再显示红色,重启应用服务成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值