import com.sun.image.codec.jpeg。*
我有一个Java程序,当我编译它我得到以下错误
[javac] ...\MyClass.java:33: package com.sun.image.codec.jpeg does not exist [javac] import com.sun.image.codec.jpeg.*; [javac] ^
我能做什么 ?
现在写入映像文件的正确方法是不推荐使用com.sun包。
你为什么在包com.sun.image.codec.jpeg
使用类? 您不应该直接使用这些类: 为什么开发人员不应该编写称为“太阳”包的程序 。
你的程序做什么? 它只是试图读取或写入JPG图像? ImageIO
API非常简单。 请参阅本教程: 编写/保存图像 。
另外 – 正如Java SE 7和JDK 7兼容性指南中所述,Java 7中已经删除了com.sun.image.codec.jpeg
包。
简介:非标准
com.sun.image.codec.jpeg
包已经停用说明:
com.sun.image.codec.jpeg
包是作为控制JPEG格式图像文件的加载和保存的非标准方式添加到JDK 1.2(Dec 1998)中的。 这个包不是平台规范的一部分,它已经从Java SE 7版本中删除。 Java Image I / O API作为标准API添加到JDK 1.4版本,并且不再需要com.sun.image.codec.jpeg
包。
在使用JDK 7编译时,我遇到了这个问题。足够奇怪的Eclipse没有显示这个错误,只有javac。 答案可以在这个Stackoverflow答案中find:javac使用一个特殊的符号表,不包括所有Sun专有的类,并suppliying -XDignore.symbol.file
使问题消失。
当然,更好的解决scheme是不使用专有类来重写代码,但为了快速支持JDK 7,此选项可用。
你在使用哪个JDK? 我认为这个软件包不是必需的,只能在Sun的JDK中使用。 这个讨论解释。
如果你真的想使用它,你可以下载这个jar文件并把它包含在你的path文件中。
根据文档 :
请注意,com.sun.image.codec.jpeg包中的类不是核心Java API的一部分。 它们是Sun JDK和JRE发行版的一部分。 虽然其他许可证持有者可能select分发这些类,但是开发人员不能依赖于在非Sun实现中的可用性。 我们期望等效function最终将在核心API或标准扩展中可用。
看起来你正在使用已被replace的东西。 也许你在Java 7上?
这似乎是描述这一点,以及去哪里find适当的替代。