解决linux部署tomcat 报错不支持java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec

由于新版本jdk1.8不再支持JPEGCodec,导致报错,需要修改方法
1.----------------------------------------------------
JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is);
BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage();
换成新方法
BufferedImage buffImg=ImageIO.read(is);
2.-----------------------------------------------------
JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os);
en.encode(buffImg);
换成新方法
ImageIO.write(buffImg, "jpeg", os);
--------------------------end-------------------------------
如果启动还报错,说明tomcat下面没有设置缓存目录
1、在tomcat下新建temp目录; 
2、与方法1相似,通过ImageIO.setCacheDirectory(cacheDirectory);设置任意的、存在的缓存目录
3、ImageIO默认是使用缓存目录,可以通过ImageIO.setUseCache(false)来设置,更改缓存策略,不使用文件目录缓存,使用内存

你可能感兴趣的:(linux部署)