2011-06-17 81 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