测试类public static void main(String[] args) throws MagickException {
System.setProperty("jmagick.systemclassloader", "no");
// reading image
ImageInfo info = new ImageInfo("d:/IMG_0045.JPG");
info.setQuality(100);
info.setCompression(CompressionType.JPEGCompression);
MagickImage image = new MagickImage(info);
Dimension imageDim = image.getDimension();
// resize image
int ratio = imageDim.width / 150;
MagickImage scaleImg = image.scaleImage(150, imageDim.height / ratio);
//write image to file
scaleImg = scaleImg.enhanceImage();
scaleImg.setFileName("d:/out2.jpg");
scaleImg.writeImage(info);
}在这里面没问题,说明Jmagick配置没问题,但是把同样的代码放到Action里面去执行就会出现NoClassDefFoundError的错误。 请高手指点!
System.setProperty("jmagick.systemclassloader", "no");
// reading image
ImageInfo info = new ImageInfo("d:/IMG_0045.JPG");
info.setQuality(100);
info.setCompression(CompressionType.JPEGCompression);
MagickImage image = new MagickImage(info);
Dimension imageDim = image.getDimension();
// resize image
int ratio = imageDim.width / 150;
MagickImage scaleImg = image.scaleImage(150, imageDim.height / ratio);
//write image to file
scaleImg = scaleImg.enhanceImage();
scaleImg.setFileName("d:/out2.jpg");
scaleImg.writeImage(info);
}在这里面没问题,说明Jmagick配置没问题,但是把同样的代码放到Action里面去执行就会出现NoClassDefFoundError的错误。 请高手指点!
如果不是,确定服务器端也正确安装了ImageMagick和JMagick。另外,看看在web中,JMagick是否在classpath下,一般都放在WEB-INF/lib下。