问题

今天导入项目时Eclipse报错如下:

Access restriction: The type 'JPEGCodec' is not API (restriction on required library 'C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar')

第一次遇到这种错误,百度了下,原来是因为Eclipse默认把访问受限的API设置成了Error级别,所以才会编译报错。

解决方法

方法一(推荐)

直接将项目的JRE给remove掉,然后再重新将JRE添加到项目中,操作如下:

  1. 右键项目,选择Properties -> Java Build Path -> Libraries -> 选中JRE System Library [jdkxxxx] -> 选择​​Remove​
  2. 接着选择​​Add Librariy...​​,重新加入JRE

方法二

修改Eclipse中关于访问受限的API的编译级别:

Window -> Preferences -> Java -> Compiler -> Errors/Warnings,选择​​Deprecated and restricted API​​​,将其中的​​Forbidden reference(access rules)​​的级别选为Warning。

参考链接

  • ​​解决办法:Access restriction: The type JPEGImageEncoder is not accessible due to restriction​​