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

时间:2022-06-17 06:58:01

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

转:

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

2018-01-04 00:36:20 雨临Lewis 阅读数 7885 收藏 更多
分类专栏: IDE工具 Java
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

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