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

时间:2012-01-15 13:19:59

标签: java image-processing jpeg

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

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

但我收到的错误是:

  

访问限制:由于对所需库JPEGCodec

的限制,无法访问类型C:\Program Files\Java\jre6\lib\rt.jar

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

4 个答案:

答案 0 :(得分:11)

看看Link

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 Runtime策略。最佳做法是避免使用rt.jar(或任何其他Sun提供的运行时库,如tools.jar)

答案 1 :(得分:4)

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

了解原因here

执行您想要做的事的正确方法是here

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:0)

也许您的jre系统库是1.8

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

将错误更改为忽略/警告