sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用【解决办法】
叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!
一、问题描述
最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。
原因分析
冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除,也就是1.8版本后的jdk已经不再支持sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。
这些JAR中可用的类和资源现在以文件中的内部格式存储在lib目录的命名模块中。 可以使用称为jrt的新方案来从运行时映像检索这些类和资源。 依靠这些JAR位置的应用程序将不再工作。
二、解决办法
1、替换JDK公共API
从JDK 1.8开始,就提供了java.util.Base64.Decoder
和java.util.Base64.Encoder
的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。
java.util.Base64.Decoder的官网API:
https://docs.oracle.com/javase/9/docs/api/java/util/Base64.Decoder.html
java.util.Base64.Encoder的官网API:
https://docs.oracle.com/javase/9/docs/api/java/util/Base64.Encoder.html
2、切换JDK版本
将JDK更换到1.8版本,即可正常使用。
喏~
小啊呜就是使用了这个方法,完美解决没有报错呀!
Ending!
更多课程知识学习记录随后再来吧!
就酱,嘎啦!
注:
人生在勤,不索何获。