idea中可能会出现没有sun.misc.BASE64Encoder的jar包。但是64位编码却需要用到.BASE64Encoder。有以下两种方法:
错误现象:
错误原因:
1.JDK改为8(原因是/lib/tool.jar和/lib/rt.jar已经从Java SE 9中删除);
2.更改导入的包;
原来方法:
BASE64Encoder encoder = new BASE64Encoder();String imagestr = encoder.encode(captcha);BASE64Decoder decoder = new BASE64Decoder();byte[] bytes = decoder.decodeBuffer(imagestr);
替换后:
import java.util.Base64.Encoder;import java.util.Base64.Decoder; //加解密的包Encoder encoder = Base64.getEncoder();
String result = encoder.encodeToString(byteArray);Decoder decoder = Base64.getDecoder();
byte[] result = decoder.decode(str);