java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
注释:sun/misc/BASE64Encoder,只有在jdk1.8之前的版本存在,jdk9以后的版本,就不存在了。如果出现这样的错误,检查自己当前的jdk版本。
建议:使用 import org.apache.commons.codec.binary.Base64对原先sun/misc/BASE64Decoder进行替换。
实现:
1:添加 import org.apache.commons.codec.binary.Base64包
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.6</version>
</dependency>
2.替换原来的BASE64Encoder()
2.1 加密部分,将:
BASE64Encoder base64encoder = new BASE64Encoder();
return base64encoder.encode(xxx);
替换为:
Base64.encodeBase64String(xxx);
2.2 解码部分,将:
new BASE64Decoder().decodeBuffer(xxx)
替换为:
Base64.decodeBase64(xxx);
注意:引入包的时候,选择import org.apache.commons.codec.binary.Base64;