我正在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
有人知道解决这个问题的方法,或者我应该添加哪些库才能访问它以及我找到该库的位置?
答案 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)
答案 2 :(得分:2)
问题是,您正在从sun.com.*
包导入库。 Oracle actually discourages使用这些软件包,因为它们可能在将来的版本中被删除,或者可能在所有JVM实现中都不可用。
如果您尝试导入sun.com.*
库,您的IDE(您正在使用哪一个?)可能会生成错误,在这种情况下,配置更改将允许您使用这些库,但它不会无论如何,这不是一个好主意。您应该使用没有访问限制的库来寻找您寻求的功能的其他替代方案。
另外,如果您想要的只是读取或写入JPEG文件,请查看ImageIO类,其中有许多有用的方法。
答案 3 :(得分:0)
也许您的jre系统库是1.8
或eclipse:项目属性> java编译器>错误/警告>不推荐使用的API
将错误更改为忽略/警告