问题描述:
第三方依赖包,目前出现问题的是某银行的sdk导致的使用了 sun.misc.BASE64Decoder 但是在jdk11这个版本该类已经被删除,导致运行是出现错误
Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
替换方式:
Base64.Encoder encoder = Base64.getEncoder();
Base64.Decoder decoder = Base64.getDecoder();
解决方案一:
拿到第三方依赖的源码,修改源码使用java.util.Base64.Encoder、java.util.Base64.Decoder替换
解决方案二:
利用类加载顺序机制,在项目路径定义包相同类名相同的class,并在新的class基础上进行改动
使用java.util.Base64.Encoder、java.util.Base64.Decoder替换