测试类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的错误。 请高手指点!

解决方案 »

  1.   

    你是否在同一台机器上运行的?
    如果不是,确定服务器端也正确安装了ImageMagick和JMagick。另外,看看在web中,JMagick是否在classpath下,一般都放在WEB-INF/lib下。
      

  2.   

    是的,我是从同一台机器上运行的,目前ImageMagick和JMagick配置应该完全没有问题,因为上述的代码放在一个含main函数的类里执行就完全没问题,但是放到Action里,启动myeclipse自带的tomcat执行Action就会出现NoClassDefFoundError的错误。