Use ImageIO instead of JPEGImageEncoder

現象:Maven編譯項目時報以下錯誤:
html

錯誤:程序包com.sun.image.codec.jpeg不存在



分析:該問題是程序中使用了com.sun.image.codec.jpeg.JPEGImageEncoder這個類將Image編碼爲jpg格式文件輸出,而這個類位於jre\lib\rt.jar中,Eclipse會提示以下警告信息。
java

Access restriction: The type JPEGCodec is not accessible due to restriction on required library C:\Java\jdk1.7.0_45\jre\lib\rt.jar



解決:雖然咱們能夠將rt.jar加入構建路徑,但很明顯這裏依賴sun的jre,換個jre就很差使了,更好的辦法是使用ImageIO代替,這個類位於javax.imageio下,能夠看到是平臺無關的。
shell

ImageIO.write(image, "jpg", out);
相關文章
相關標籤/搜索