今天在eclipse mars中导入一个外部项目,在编译时出现了下面的错误:
Access restriction: The type 'BASE64Encoder' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_20\lib\rt.jar')
出现这个错误,是因为调用了Eclipse或MyEclipse自带的jre运行库,访问“rt.jar”的会出现“访问限制”
解决方法有两种:
1.不调用Eclipse等集成环境自带的jre,替换成自己安装的JDK就可以了。
如下图:
[img]https://img-blog.youkuaiyun.com/20151219182757892?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center[/img]
2.Eclipse 默认把这些受访问限制的API设成了ERROR。找到eclipse的Window下拉菜单,Preferences -> Java -> Complicer -> Errors/Warnings,将里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。
如下图:
[img]https://img-blog.youkuaiyun.com/20151219182835188?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center[/img]
Access restriction: The type 'BASE64Encoder' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_20\lib\rt.jar')
出现这个错误,是因为调用了Eclipse或MyEclipse自带的jre运行库,访问“rt.jar”的会出现“访问限制”
解决方法有两种:
1.不调用Eclipse等集成环境自带的jre,替换成自己安装的JDK就可以了。
如下图:
[img]https://img-blog.youkuaiyun.com/20151219182757892?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center[/img]
2.Eclipse 默认把这些受访问限制的API设成了ERROR。找到eclipse的Window下拉菜单,Preferences -> Java -> Complicer -> Errors/Warnings,将里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。
如下图:
[img]https://img-blog.youkuaiyun.com/20151219182835188?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center[/img]
本文详细介绍了在Eclipse Mars中导入外部项目时遇到Accessrestriction错误的解决方案,包括替换自带JRE运行库和调整编译器设置两步。通过更换自定义JDK或修改Eclipse配置,可以成功解决该问题并顺利编译。
1万+

被折叠的 条评论
为什么被折叠?



