2011-06-17 76 views
1

我试图在需要Java高级图像的Ant中使用图像任务。 .jar文件似乎是在Ant库,但是当我尝试缩放图像,它给了我下面的错误:获取图像任务在Ant中工作

Could not load a dependent class javax/media/jai/PlanarImage 

是否有一个原因,为什么蚂蚁jai.jar文件不会已经有这个班了?有没有人有在Ant中使用JAI或专门成功使用Image任务的经验?

谢谢!

回答

1

JAR仅包含Image task中定义的对象。你也必须把JAI放在你的班级路上。

附录:关于NoClassDefFoundError: javax.media.jai.OperationRegistrySpi,您可以验证该类是否在jai_core.jar中,如下所示。跟踪这种异常情况的一种方法是使用java命令的-verbose选项。

 
$ jar tf jai_core.jar | grep OperationRegistrySpi 
javax/media/jai/OperationRegistrySpi.class 

$ jar tf lib/ant-jai.jar 
META-INF/ 
META-INF/MANIFEST.MF 
org/ 
org/apache/ 
org/apache/tools/ 
org/apache/tools/ant/ 
org/apache/tools/ant/taskdefs/ 
org/apache/tools/ant/taskdefs/optional/ 
org/apache/tools/ant/taskdefs/optional/image/ 
org/apache/tools/ant/taskdefs/optional/image/Image.class 
org/apache/tools/ant/types/ 
org/apache/tools/ant/types/optional/ 
org/apache/tools/ant/types/optional/image/ 
org/apache/tools/ant/types/optional/image/Arc.class 
org/apache/tools/ant/types/optional/image/BasicShape.class 
org/apache/tools/ant/types/optional/image/ColorMapper.class 
org/apache/tools/ant/types/optional/image/Draw.class 
org/apache/tools/ant/types/optional/image/DrawOperation.class 
org/apache/tools/ant/types/optional/image/Ellipse.class 
org/apache/tools/ant/types/optional/image/ImageOperation.class 
org/apache/tools/ant/types/optional/image/Rectangle.class 
org/apache/tools/ant/types/optional/image/Rotate.class 
org/apache/tools/ant/types/optional/image/Scale$ProportionsAttribute.class 
org/apache/tools/ant/types/optional/image/Scale.class 
org/apache/tools/ant/types/optional/image/Text.class 
org/apache/tools/ant/types/optional/image/TransformOperation.class 
+0

感谢您的回答,我会标示这是正确的,但你知道我为什么把JAI和JAI编解码器的lib文件夹后,它给我下面的:NoClassDefFoundError的:javax.media.jai.OperationRegistrySpi – jimlamiell 2011-06-17 12:54:33

+0

我不确定;但你可以按照上面的建议检查'jai_core.jar'。 – trashgod 2011-06-19 03:10:55