Получение задачи изображения для работы в Ant

Я пытаюсь использовать задачу Image в Ant, для которой требуется Java Advanced Imaging. Файл .jar, кажется, находится в библиотеке Ant, но когда я пытаюсь масштабировать изображение, он выдает следующую ошибку:

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

Есть ли причина, по которой в файле ant-jai.jar уже нет этого класса? Есть ли у кого-нибудь опыт использования JAI в Ant или, в частности, успешного использования задачи изображения?

Спасибо!


person jimlamiell    schedule 17.06.2011    source источник


Ответы (1)


JAR содержит только объекты, определенные в файле Image task. Вам также придется поместить JAI в свой путь к классу.

Приложение: Что касается NoClassDefFoundError: javax.media.jai.OperationRegistrySpi, вы можете убедиться, что класс находится в jai_core.jar, как показано ниже. Один из способов отследить такие аномалии — использовать параметр -verbose команды java.

$ 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
person trashgod    schedule 17.06.2011
comment
Спасибо за ответ, и я отмечу это как правильное, но знаете ли вы, почему после помещения кодека JAI и JAI в папку lib он дает мне следующее: NoClassDefFoundError: javax.media.jai.OperationRegistrySpi - person jimlamiell; 17.06.2011
comment
Я не уверен; но вы можете проверить jai_core.jar, как было предложено выше. - person trashgod; 19.06.2011