Невозможно развернуть пакет веб-приложений на GlassFish - PullRequest
0 голосов
/ 20 марта 2012

У меня возникли серьезные проблемы при правильном развертывании пакета веб-приложений (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), и я получил ту же проблему.

1 Ответ

0 голосов
/ 27 марта 2012

Решение этой проблемы в GlassFish 3.1.2 состояло в том, чтобы установить параметр org.osgi.framework.startlevel.beginning в glassfish3/glassfish/config/osgi.properties файле конфигурации на 3. Я также установил glassfish.osgi.start.level.final на 4, потому что я думал, что он должен иметь большее значение, чем первый параметр,хотя я не уверен, было ли это необходимо.

...