Access restriction: The type is not accessible due to restriction on required library问题处理

本文介绍了解决Java项目中因Access限制导致无法访问特定包资源的方法。通过编辑项目的Access规则,允许访问受限的包资源,避免禁用警告验证的做法。

在做Java时,遇到了个小问题,在Import 包资源时出现:

       Access restriction: The type XXX is not accessible due to restriction on required library 错误!如下图:



经过查证 原来是:JDK下如rt.jar包中某些资源默认是不让用的。这是其Access规则,在网上看到很多帖子都说把Warning的验证禁用掉,个人感觉这不是好的办法。

经过一些资料发现修改项目文件的Access rules可以解决这一问题:

选择工程项目右键->Properties->java builder path->Libraries,点击JRE System Library里面的Access rules,增加或者是Edit Resolution 为accessible的选项,在Rule Pattern中写上所需要的包资源路径,如下图所示:





有关Rule Pattern的输入,因为我这里是在Import JDK下rt.jar中的sun包下某个类时出现错误,所以我这就填写sun/**

如果是其他的包,则填写相应的即可!点击确定后,即可成功解决上面的问题。



Exception in thread "main" java.lang.Error: Unresolved compilation problems: Access restriction: The type String is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type UIManager is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type UIManager is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar The method getSystemLookAndFeel() is undefined for the type UIManager Access restriction: The type Exception is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method printStackTrace() from the type Throwable is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The constructor JFrame(String) is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setDefaultCloseOperation(int) from the type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The field EXIT_ON_CLOSE from the type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setSize(int, int) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setLocationRelativeTo(Component) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method add(Component) from the type Container is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The constructor JLabel(String, int) is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JLabel is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type SwingConstants is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The field CENTER from the type SwingConstants is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setVisible(boolean) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar at MainApp.main(MainApp.java:5)测试的代码报错
最新发布
12-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值