当我们在Eclipse中引入 com.sun.image.codec.jpeg
包时,有可能会出现以下报错:
Access restriction: The type 'JPEGImageEncoder' is not API (restriction on required library ..jre1.8.0_202\lib\rt.jar)
这是因为 com.sun.image.codec.jpeg
包在JDK1.7中被废弃,在JDK1.9中被删除。因此,当我们引入该包时,可能会被Eclipse视为危险操作。
下面是完美解决方法:
- 将系统JRE替换为JDK
使用Eclipse时,我们需要配置JRE才能启动和开发Java程序。这时,我们可以将JRE替换为JDK。步骤如下:
1.1 在Eclipse菜单栏中点击“Window” - “Preferences” - “Java” - “Installed JREs”。
1.2 点击“Add”按钮,选择“Standard VM”,点击“Next”。
1.3 在“JRE home”一栏中,选择JDK的安装路径,并点击“Finish”。
1.4 点击“Apply and Close”按钮,使配置生效。
替换完系统JRE后,重新引入 com.sun.image.codec.jpeg
包即可解决报错问题。
- 修改Eclipse设置
如果不能替换系统JRE,我们可以通过Eclipse的设置来解决问题。步骤如下:
2.1 在Eclipse菜单栏中点击“Window” - “Preferences” - “Java” - “Compiler” - “Errors/Warnings”。
2.2 在“Deprecated and restricted API”一栏中,将“Forbidden reference (access rules)”项的“Severity”改为“Warning”。
2.3 在Eclipse的项目配置文件中,将禁止访问JDK内部API的限制放宽。具体方法是:
在项目根目录下找到 .settings/org.eclipse.jdt.core.prefs
文件(如果不存在,可以新建文件),添加下列代码并保存:
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference.disabling=true
修改完上述设置后,重新引入 com.sun.image.codec.jpeg
包即可解决报错问题。
示例一:
首先新建一个Java项目,并在项目中引入 com.sun.image.codec.jpeg
包。然后按照上述步骤1的方法重新配置JRE为JDK1.8,并重新引入 com.sun.image.codec.jpeg
包,即可在项目中成功使用 com.sun.image.codec.jpeg
包的相关类。
示例二:
如果不能替换系统JRE,我们可以按照步骤2的方法进行配置。具体方法是:在Eclipse中新建一个普通Java项目,并在项目中引入 com.sun.image.codec.jpeg
包。然后按照上述步骤2的方法进行配置,即可在项目中成功使用 com.sun.image.codec.jpeg
包的相关类。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法 - Python技术站