maven 编译项目时:报com.sun.image.codec.jpeg不存在
项目中用到图片处理相关的一些工具类,在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:没有具体看过对应的实现,找时间可以看一下).