2015-03-02 4 views
0

Я пытаюсь создать образец приложения для тех технологий, которые я хочу использовать в проекте, над которым я работаю. В частности, я хочу создать пакет приложений OSGi Web Application Bundle (WAB), который реализует конечные точки обслуживания JAX-RS2. Я работаю через RESTful Java с JAS-RS 2 (Билл Берк, я бы опубликовал ссылку, но у меня недостаточно репутации) для концептуальных сервисов JAX-RS. На этом этапе я реализовал службы клиентов, перечисленные в главе 3. Я несколько раз просмотрел сайт this, а также несколько других ресурсов по созданию WAB. Я использую eclipse Luna с динамичным веб-проектом, к которому я добавил природу проекта BND. Я экспортирую проект как .war, чтобы поддерживать правильную структуру WAR. Я проверил вручную, что манифест OSGi находится в правильном месте и содержит правильные утверждения (т. Е. Соответствует тому, что находится в среде IDE).JAX-RS 2 & OSGi в Glassfish 4 не работает

Моя проблема заключается в том, что при развертывании файла в Glassfish (я использую Glassfish 4) в качестве WAR он развертывается отлично, и я могу получить доступ к сервисам. Однако, поскольку он не загружается как пакет OSGi, у меня нет доступа к другим пакетам OSGi.

Когда я разворачиваю файл в виде пакета OSGi (тип: Other, OSGi checked), он снова развертывается нормально, но, похоже, не загружается в контейнер Servlet, потому что все URL-адреса возвращают ошибку 404.

Видимо я могу разместить только 2 ссылки и подсчитывать фрагменты кода в виде ссылок, так что все, что я могу включить мой файл манифеста:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: ShoppingApplication 
Bundle-SymbolicName: com.restfully.shop 
Bundle-Version: 1.0.0.alpha 
Bundle-ClassPath: WEB-INF/classes/ 
Bundle-Vendor: Perform Air International Inc. 
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 
Web-ContextPath: /OrderEntry 
Export-Package: com.restfully.shop.services;uses:="javax.ws.rs.core,javax.servlet,org.osgi.service.event,org.osgi.framework" 
Import-Package: javax.servlet;version="[3.0.0,4.0.0)",javax.servlet.annotation,javax.servlet.http,javax.ws.rs.core,org.osgi.framework,org.osgi.service.event 
Bundle-Activator: com.restfully.shop.osgi.WebAppContextListener 

Позвольте мне знать, что другие части информации могут быть полезны, и я Я попытаюсь сделать их доступными для сообщества.

ответ

0

У вас есть org.osgi.service.event в ваших Import-пакетах.

Это не существует в Glassfish 4.x из того, что я могу сказать. Я получаю следующее сообщение об ошибке при попытке развертывания пула верблюжьего ядра-osgi, например ...

ERROR: org.osgi.service.event,version=[1.3,2) -- Cannot be resolved 
Смежные вопросы