2010-10-12 2 views
1

Я пытаюсь поместить проект GWT Eclipse в файл Bundle-Jar. Для этого я должен добавить папку войны в комплект. Проблема в том, что компилятор GWT добавляет все * .class файлы в папку war/WEB-INF/classes. BND пытается добавить все * .class файлы в файл jar, но они не соответствуют пути в проекте. Это проблема! Таким образом, я ищу правильный атрибут Include-Resource: в моем BND-файле.Исключить подкаталоги из пакета; Include-Resource в файле BND

Есть ли кто-то, у кого есть идея, кто может исключить специальные файлы из выражения Include-Resource.

Он работает, если я удаляю каждый раз, когда подпапка классов. Но через несколько секунд GWT SDK будет генерировать эти классы.

спасибо

Sebastian

ответ

0

Пожалуйста, проверьте следующее: http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html#ApacheFelixMavenBundlePlugin%28BND%29-Instructions:

< Экспорт-пакет > ... можно исключить пакеты с помощью отрицания, начиная шаблон пакета с '!'. Таким образом, неотрицательные рисунки указывают, какая из доступных пакетов должна включать в комплект пучок, тогда как отрицательные рисунки указывают, что в комплект поставки не следует входить .

Вы также можете проверить этот проект: «http: //bitbucket.org/MikhailKotelnikov/projecttemplate». Это шаблон для простого приложения OSGi/GWT. Здесь я компиляции/упаковки всех GWT-зависимых классов, как обычно, но я добавил следующие инструкции для BND инструмента:

DynamicImport-Package: * 
Import-Package: *;resolution:=optional 

В этом случае BND считает, что эти пакеты будут предоставлены OSGi Environmet в время выполнения и правильная работа.

+1

Я бы фактически отказался от использования этих двух инструкций. DynamicImport-Package фактически позволит вам сосать любой пакет, доступный в фреймворке, и это действительно то, что нужно использовать только тогда, когда все остальные методы терпят неудачу. Добавление разрешения не является обязательным для вашего импорта, так же сложно, здесь вы говорите: «Эй, я могу работать с этими пакетами или без них, мой пакет будет иметь дело с этим», когда я подозреваю, что в вашем случае, если эти импортные данные фактически не могут быть разрешено, код будет терпеть неудачу с не найденными исключениями класса. –