我需要什么库,所以我可以在Java中访问这个com.sun.image.codec.jpeg?

我在java中创建了一个图像水印程序,我导入了以下内容:

import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; 

但我得到一个错误,上面写着:

访问限制:由于对所需库C:\Program Files\Java\jre6\lib\rt.jar限制,因此无法访问JPEGCodec类型

有人知道解决这个问题的方法,或者我应该添加哪些库才能访问该库以及我找到该库的位置?

看看这里链接

 1. Open project properties. 2. Select Java Build Path node. 3. Select Libraries tab. 4. Remove JRE System Library. 5. Add Library JRE System Library. 

正如Milad所说

尽管这可行,但这违反了所有推荐的Java运行时策略。 最佳做法是避免使用rt.jar(或任何其他Sun提供的运行时库,如tools.jar)

它们位于rt.jar中,这是由JVM用作运行时工具的jar文件,我强烈建议您不要将它作为依赖项添加到项目中。

在这看到原因。

这里描述了做你想做的事的正确方法。

问题是,您正在从sun.com.*包导入库。 Oracle实际上不鼓励使用这些软件包,因为它们可能在将来的版本中被删除,或者可能在所有JVM实现中都不可用。

如果您尝试导入sun.com.*库,那么您的IDE(您正在使用哪一个?)可能会生成错误,在这种情况下,配置更改将允许您使用这些库,但它不会反正是一个好主意。 您应该使用没有访问限制的库来寻找您寻求的function的其他替代方案。

另外,如果您想要的只是读取或写入JPEG文件,请查看ImageIO类,其中有许多有用的方法。

也许您的jre系统库是1.8

或eclipse:项目属性> java编译器>错误/警告>不推荐使用的API

更改忽略/警告的错误