У меня возникли серьезные проблемы при правильном развертывании пакета веб-приложений (OSGi-fied WAR) на сервере GlassFish 3.1.2
Когда я развертываю свою WAR как просто веб-приложение, все работает нормально, и я могу открыть свое приложение в браузере.
Но кроме этого, я также хочу, чтобы он работал в среде OSGi. Когда я развертываю свою WAR как пакет OSGi (используя опцию --type=osgi
в команде asadmin deploy
), пакет корректно устанавливается в контейнер OSGi, но на этот раз GlassFish не распознает его как веб-приложение - я получаю 404 ошибка (The requested resource () is not available.
) при попытке открыть мое приложение в браузере.
Я нашел это решение , но в моем случае оно не работает.
Вот манифест моей пачки:
Manifest-Version: 1.0
Webapp-Context: /ares-gui
Bundle-ClassPath: WEB-INF/classes
Bundle-Version: 0.0.0.unspecified
Tool: Bnd-1.50.0
Bnd-LastModified: 1332182568717
Bundle-Name: ares-gui
Bundle-ManifestVersion: 2
Created-By: 1.6.0_26 (Sun Microsystems Inc.)
Import-Package: javax.servlet;version="[3.0,4)",javax.servlet.http;ver
sion="[3.0,4)"
Bundle-SymbolicName: ares-gui
Web-ContextPath: /ares-gui
Само приложение представляет собой простой сервлет с аннотацией WebServlet из Servlet API 3.0.
Я также попробовал это с другими примерами WAB, найденными в сети (например, this one), и я получил ту же проблему.