从SVN检出新项目,在Eclipse中报错如下:
转:
Eclipse笔记-sun.misc.BASE64Encoder找不到jar包的解决方法
版权声明:本文为博主原创文章,遵循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