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

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

 

转:

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

2018-01-04 00:36:20 阅读数 7885 收藏 更多 分类专栏: IDE工具 Java  

在使用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

上一篇:论述:零编程在可预见的将来能否实现


下一篇:python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position