首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com.sun.imageio.plugins.jpeg.JPEGImageReader不再是JDK-11的一部分

com.sun.imageio.plugins.jpeg.JPEGImageReader不再是JDK-11的一部分
EN

Stack Overflow用户
提问于 2019-09-17 20:32:45
回答 1查看 2.3K关注 0票数 0

我正在尝试将一个项目从JDK8迁移到JDK11,问题是大多数东西不再是JDK11的一部分,因为它们曾经是JDK8的一部分。由于从JDK11中删除了一些包,我不得不手动添加一些单独的jars,但仍然存在一个问题。导入的% com.sun.imageio.plugins.jpeg.JPEGImageReader;不再是JDK11的一部分,我无法找到适当的替换或依赖项来提供给我的代码,以便它可以像以前一样工作。

我访问过https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/imageio/package-summary.html文档,但它们似乎不是合适的替代品

代码语言:javascript
复制
InputStream iccProfileStream = JPEGImageReader.class.getResourceAsStream("/ISOcoated_v2_300_eci.icc");

//由于从JDK11中删除的jar丢失,JPEGImageReader完全为红色

代码语言:javascript
复制
cmykProfile = ICC_Profile.getInstance(iccProfileStream);
iccProfileStream.close();

代码应该像以前在JDK8上一样编译,但它一直弹出一个错误"package com.sun.imageio.jpeg is not visible (package com.sun.imageio.plugins.jpeg是在模块java.desktop中声明的,它不会导出它)“

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 20:57:13

看起来您甚至不需要这个类,至少从您显示的代码来看是这样。

您可以使用任何Class对象来代替JPEGImageReader.class.getResourceAsStream(..,只要它位于合适的类加载上下文中。Class类中存在getResourceAsStream方法。

getClass().getResourceAsStream(..替换它,这部分代码就可以正常工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57974306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档