java.lang.ClassNotFoundException: sun.misc.BASE64Decoder

有一个新的应用服务,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

定位到源代码:
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder_第1张图片
然后尝试搜索相关办法,没有解决。我尝试通过如下方法,从idea工程,找到file菜单,找到如下
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder_第2张图片
然后修改SDK为1.8
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder_第3张图片
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder_第4张图片
这时候如上图,该类不再显示红色,重启应用服务成功了。

你可能感兴趣的:(项目构建,java,开发语言)