import com.sun.image.codec.jpeg.*

2022-09-01 04:53:18

我有一个Java程序,当我编译它时,我得到以下错误

[javac] ...\MyClass.java:33: package com.sun.image.codec.jpeg does not exist
[javac] import com.sun.image.codec.jpeg.*;
[javac] ^

我该怎么办?

现在,写入图像文件的正确方法是什么,因为 com.sun 包已被弃用。


答案 1

我在使用JDK 7编译时遇到了这个问题。奇怪的是,Eclipse没有显示这个错误,只有javac显示。答案可以在这个Stackoverflow答案中找到:javac使用一个特殊的符号表,该表不包括所有Sun专有的类,并且提供使问题消失。-XDignore.symbol.file

当然,更好的解决方案是在不使用专有类的情况下重写代码,但是为了快速支持JDK 7,此选项有效。


答案 2

为什么要在包中使用类?你不应该直接使用这些类:为什么开发人员不应该编写调用“sun”包的程序com.sun.image.codec.jpeg

您的程序是做什么的?它只是尝试读取或写入JPG图像吗?使用API非常容易。请参阅本教程:编写/保存图像ImageIO

添加 - 该包已在 Java 7 中删除,如 Java SE 7 和 JDK 7 兼容性指南中所述。com.sun.image.codec.jpeg

概要:非标包已停用com.sun.image.codec.jpeg

描述:该软件包是在 JDK 1.2(1998 年 12 月)中添加的,作为控制 JPEG 格式图像文件的加载和保存的非标准方式。此包从来都不是平台规范的一部分,它已从 Java SE 7 发行版中删除。Java Image I/O API 作为标准 API 添加到 JDK 1.4 发行版中,消除了对包的需求。com.sun.image.codec.jpegcom.sun.image.codec.jpeg


推荐