首页 > 技术文章 > maven 编译项目时:报com.sun.image.codec.jpeg不存在

jessezeng 2016-12-17 22:39 原文

项目中用到图片处理相关的一些工具类,在eclipse开发工具内,程序并没有什么问题,都可以正常使用,项目也没有报错,但通过maven 进行编译打包时,则会报错:

程序包com.sun.image.codec.jpeg不存在 。

从包名看,是sun公司之前的一些类,在比较老的一些代码中,常用来处理图片的格式转换、截取等等。

类似以下代码:

1 FileOutputStream fos= new FileOutputStream(targetFile);
2 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
3 encoder.encode(image);

实际上要解决这个编译报错问题,最简单的方法就是使用新的工具类:ImageIO,这个类提供了多种write方法,适用于多种情况,可以达到相同的目的。

当然,也有人采用其他方式,在编译环境中加入对应的依赖包,个人认为还是使用新的工具类较好一些,新工具类肯定有它的独到之处(PS:没有具体看过对应的实现,找时间可以看一下).

 

推荐阅读