Eclipse笔记-sun.misc.BASE64Encoder找不到jar包的解决方法

从SVN检出新项目,在Eclipse中报错如下:

 

转:

Eclipse笔记-sun.misc.BASE64Encoder找不到jar包的解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lewky_liu/article/details/78966854

在使用sun.misc.BASE64Encoder时报错如下:

Access restriction: The type BASE64Encoder is not accessible due to restriction on required library C:\jdk1.7.0_79\jre\lib\rt.jar
  • 1

原因与替代方案

查了下资料,这是因为BASE64Encoder/BASE64Decoder类在sun.misc包下,是sun公司的内部方法,后期有删除的潜在可能,建议使用apache commons.codec下的Base64替代。

maven依赖:

<dependency>
     <groupId>commons-codec</groupId>
     <artifactId>commons-codec</artifactId>
     <version>${commons-codec.version}</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

java代码:

Base64.encodeBase64String(...);
Base64.decodeBase64(...);
  • 1
  • 2

如果就想使用sun.misc.BASE64Encoder,也有以下的解决方法:

1、右键项目 -> 属性 -> java bulid path -> jre System Library -> access rules -> resolution选择accessible,下面填上**,最后点击确定即可
2、只需要在project build path中先移除JRE System Library,再重新添加库JRE System Library,接着重新编译后就一切正常了。
3、Windows -> Preferences -> Java -> Compiler -> Errors/Warnings ->
Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning

参考链接

https://www.cnblogs.com/phoenix-smile/p/5082786.html
http://blog.csdn.net/jbxiaozi/article/details/7351768

posted @ 2019-11-29 09:43  戈博折刀  阅读(743)  评论(0编辑  收藏  举报