Вопрос

Я пытаюсь написать расширение (плагин) для отчетов Eclipse BIRT. Он включает в себя извлечение изображений из файла в соответствии с записями базы данных и их отображение.

Я использую JAI-ImageIO от Sun для доступа к данным файла TIFF и преобразования в формат PNG для отображения в отчете. Мой код соответствует, но выдает исключение времени выполнения NoClassDefFound:

SEVERE: Error happened while running the report.
java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
  at org.eclipse.birt.sample.reportitem.rotatedlabel.util.GraphicsUtil.createDocImage
(GraphicsUtil.java:66)
  at org.eclipse.birt.sample.reportitem.rotatedlabel.RotatedLabelPresentationImpl.onRowSets
(RotatedLabelPresentationImpl.java:136)
  at org.eclipse.birt.report.engine.extension.ReportItemPresentationBase.onRowSets
(ReportItemPresentationBase.java:218)
  at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.
processExtendedContent(LocalizedContentVisitor.java:966)
...

Я использую метод PlanarImage.getAsBufferedImage (), поэтому он должен быть преобразован в более стандартный объект изображения. Я поместил JAR-файлы JAI в свой JRE и протестировал тот же базовый код вне среды плагинов Eclipse - это прекрасно работает. Кажется, это проблема CLASSPATH, но я убедился, что все JRE в моей системе содержат необходимые файлы jar и DLL в соответствующих местах.

Для нового драйвера JDBC вы должны поместить банки (jar) в специальный подкаталог плагинов - есть ли специальное место для размещения других сторонних файлов jar, чтобы BIRT мог их использовать?

Это было полезно?

Решение

Это было решено в Расширение Eclipse для открытия изображений TIFF типа 4 . По сути, вам просто нужно создать подкаталог и поместить в него все JAR-файлы и DLL-файлы, добавить JAR-файлы в ваш путь к классам и добавить DLL-файлы в «плагиновые зависимости». в разделе "обязательные собственные библиотеки".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top