Как создать рабочий пакет OSGI для Apache POI 3.8?

Моя цель - создать документ Excel 2007 (XLSX) в Eclipse RCP Environment (Excel 2003 прост). Я не хочу помещать jar-файлы POI в папку / lib , вместо этого я хочу использовать рабочий OSGI-пакет POI из моего целевого определения.

До сих пор все мои попытки создать рабочий пакет OSGI для POI 3.8 не привели к успеху. Что я сделал на данный момент:

  • Я объединил все соответствующие файлы JAR с задачей Ant zip :

    • poi-3.8-beta3-20110606.jar
    • poi-ooxml-3.8-beta3- 20110606.jar
    • poi-ooxml-schemas-3.8-beta3-20110606.jar
    • poi-scratchpad-3.8-beta3-20110606.jar
  • Я запустил инструмент bnd с помощью параметр wrap : java -jar biz.aQute.bnd.jar wrap ./poi-3.8-beta3-20110606-merged.jar

  • Мне пришлось объединить jar-файлы в / ooxml-lib папку отдельно, с bnd:

    • xmlbeans-2.3.0.jar
    • stax-api-1.0.1.jar
    • dom4j-1.6.1.jar
  • Это приводит к ClassNotFoundExceptions для org .w3c.dom.Node , потому что xmlbeans-2.3.0.jar экспортирует четыре класса из этого пакета org.w3c.dom . Обычно JavaSE-RuntimeEnvironment экспортирует их.

  • Я удалил папку org / w3c / dom из xmlbeans-2.3.0.jar и перекомпоновал банку, но получил другие исключения ClassNotFoundExceptions.

Вот где я зашел так далеко. Я думаю, что работы с bnd wrap недостаточно. Вероятно, мне нужно создать файл bnd.properties и иметь явные инструкции Export-Package / Import-Package, но которые работают?

Итак, кому-нибудь удалось успешно создать рабочий пакет OSGI POI 3.8?

6
задан aliopi 10 November 2011 в 09:22
поделиться