解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题

一直以来Base64算法的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder来进行的。但是这个类是sun公司的内部方法,并没有在Java API中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在Eclipse和MyEclipse中直接使用,却找不到该类。

问题描述如下图:
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第1张图片

解决方案:
第一步:在使用sun.misc包下的API的项目上右键选择Build Path,选择Configure Build Path
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第2张图片
第二步:在Java Build Path窗口,点击第三个选项卡Libraries,选择JRE System Libraries,选择第一项Access rules,点击Edit
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第3张图片
第三步:在弹出的窗口中点击Add
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第4张图片
第四步:在Resolution后面选择Accessible选项,下面的Rule Pattern配置为**,点击OK即可。
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第5张图片
第五步:点击OK
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第6张图片
第六步:点击Apply,点击OK,就会看到工作空间会进行重新导入构建。
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第7张图片
我们再来看导入sun.misc包下的BASE64Encoder这个类,完美解决。
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第8张图片

其余解决方案:
也可以使用第三方提供的相应的替代的API
Apache提供的Commons Codec,简称CC
Bouncy Castle提供的Bouncy Castle,简称BC

build.gradle加入第三方依赖:

解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第9张图片

使用Gradle刷新之后:

解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题_第10张图片



你可能感兴趣的:(项目工具利器,JavaSE由浅入深)