Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

当我们在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视为危险操作。

下面是完美解决方法:

  1. 将系统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 包即可解决报错问题。

  1. 修改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技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • openstack云计算组件keystone部署及操作使用技巧

    OpenStack云计算组件Keystone部署及操作使用技巧 1. 简介 Keystone是OpenStack云计算平台的身份认证组件,也是所有OpenStack组件的身份鉴别服务提供者。Keystone基于OAuth2协议来实现身份认证和授权,支持多种身份认证方式,例如用户名/密码、LDAP、OAuth等。 2. 部署Keystone 在部署Keysto…

    database 2023年5月22日
    00
  • Oracle动态交叉表生成

    有关于“Oracle动态交叉表生成”的完整攻略,下面是具体的讲解。 什么是Oracle动态交叉表? 在Oracle中,交叉表也称为“Pivot table”,它能够将表格数据从行展示为列,以便更好地进行分析和处理。而动态交叉表则表示交叉表的列数是不确定的,它通过动态生成列来存储数据,这些列名通常要根据数据的内容来生成。 Oracle动态交叉表生成流程 动态交…

    database 2023年5月21日
    00
  • redis requires ruby version2.2.2的解决方案

    针对“redis requires ruby version2.2.2”的解决方案,以下是完整攻略及两条示例说明: 问题描述 当我们在使用 Redis 的某些功能时,可能会出现以下错误提示: redis requires Ruby version 2.2.2 or newer. 这是因为 Redis 在某些操作时需要运行在指定版本的 Ruby 环境下,而当前…

    database 2023年5月22日
    00
  • MySQL 分组查询和聚合函数

    MySQL 分组查询和聚合函数是在数据库中对多条数据进行统计分析的重要方法,可以对数据进行汇总统计、计算汇总值、分组计算等操作。下面将从分组查询和聚合函数的概念、语法、实例等方面进行详细讲解: 概念 分组查询是根据一定的条件,将表中的数据进行分组,然后对每一组数据进行相关计算,比如总数、平均数、最大值、最小值等。聚合函数,即对一组数据进行操作,并返回一个结果…

    database 2023年5月21日
    00
  • JMeter对MySQL数据库进行压力测试的实现步骤

    JMeter是一款功能强大的压力测试工具,可以用于测试不同的互联网应用程序,包括MySQL数据库。下面是进行MySQL数据库压力测试的详细实现步骤: 步骤1:安装JMeter 首先,需要下载并安装JMeter。可以在JMeter官网下载JMeter程序。下载完成后,解压并运行JMeter。 步骤2:添加JDBC驱动程序 要进行MySQL数据库压力测试,需要添…

    database 2023年5月22日
    00
  • MySQL存储引擎有哪些?

    MySQL存储引擎是用于处理和管理MySQL数据库中数据存储和检索的关键组件。MySQL支持多个存储引擎,不同的引擎有不同的特点和适用场景。以下是MySQL支持的主要存储引擎: InnoDB引擎 InnoDB是当前MySQL默认的事务性存储引擎。它支持事务和外键约束等高级特性,能够提供ACID事务支持和高可靠性,适合处理事务性复杂的业务应用。InnoDB还支…

    MySQL 2023年3月9日
    00
  • MySQL中的常用函数

    MySQL中的常用函数包括字符串函数、日期函数、数学函数、聚合函数等等,这些函数方便我们对数据进行更精细的操作,让我们来一一介绍一下。 1. 字符串函数 1.1 CONCAT函数 CONCAT函数用于连接字符串,将多个字符串拼接成一个字符串。示例: SELECT CONCAT(‘hello’,’world’); — 输出’helloworld’ 1.2 L…

    database 2023年5月22日
    00
  • Andriod 读取网络图片实例代码解析

    下面就是详细的讲解。 Andriod 读取网络图片实例代码解析 在Android开发中,我们经常需要读取网络图片,在这里我们分享一些读取网络图片的实例代码,并解析代码中的关键部分。 示例一:使用 Volley 框架读取网络图片 Volley框架可以在Google IO 2013上发布。Volley框架是使用Google提供的HttpURLConnection…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部