分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用

发布时间:2023-09-06 01:26责任编辑:林大明关键词:暂无标签

[toc]

描述

最近研究把项目的JDK升级从1.8升级到9.0.1,在eclipse上配置好JDK为9后,发现项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用。

原因分析

参看官网,发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除。这些JAR中可用的类和资源现在以文件中的内部格式存储在lib目录的命名模块中。 可以使用称为jrt的新方案来从运行时映像检索这些类和资源。 依靠这些JAR位置的应用程序将不再工作。(http://www.oracle.com/technetwork/java/javase/9-relnote-issues-3704069.html)

处理办法

从官网发现,从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

 ???/** ????* BASE64Encoder 加密 ????* ?????* @param data ????* ???????????要加密的数据 ????* @return 加密后的字符串 ????*/ ???public static String encryptBASE64(byte[] data) { ???????// BASE64Encoder encoder = new BASE64Encoder(); ???????// String encode = encoder.encode(data); ???????// 从JKD 9开始rt.jar包已废除,从JDK 1.8开始使用java.util.Base64.Encoder ???????Encoder encoder = Base64.getEncoder(); ???????String encode = encoder.encodeToString(data); ???????return encode; ???} ???/** ????* BASE64Decoder 解密 ????* ?????* @param data ????* ???????????要解密的字符串 ????* @return 解密后的byte[] ????* @throws Exception ????*/ ???public static byte[] decryptBASE64(String data) throws Exception { ???????// BASE64Decoder decoder = new BASE64Decoder(); ???????// byte[] buffer = decoder.decodeBuffer(data); ???????// 从JKD 9开始rt.jar包已废除,从JDK 1.8开始使用java.util.Base64.Decoder ???????Decoder decoder = Base64.getDecoder(); ???????byte[] buffer = decoder.decode(data); ???????return buffer; ???}

参考

http://www.jianshu.com/p/340965388320

JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用

原文地址:http://www.cnblogs.com/wsygdb/p/7890237.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved