【问题标题】:Unable to deploy a Web Application Bundle on GlassFish无法在 GlassFish 上部署 Web 应用程序包
【发布时间】:2012-03-19 21:43:50
【问题描述】:

我在 GlassFish 服务器 3.1.2 上正确部署 Web 应用程序包(OSGi-fied WAR)时遇到了一些严重问题

当我将我的 WAR 部署为一个 Web 应用程序时,一切正常,我可以在浏览器中打开我的应用程序。

但除此之外,我还希望它在 OSGi 环境中运行。当我将 WAR 部署为 OSGi 包时(在 asadmin deploy 命令中使用选项 --type=osgi),该包已正确安装到 OSGi 容器中,但这次 GlassFish 无法将其识别为 Web 应用程序 - 我得到 404尝试在浏览器中打开我的应用时出错 (The requested resource () is not available.)。

我找到了this solution,但在我的情况下它不起作用。

这是我的捆绑包的清单:

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

应用程序本身是一个简单的 servlet,带有来自 Servlet API 3.0 的 WebServlet 注释。

我还尝试了在网上找到的其他示例 WAB(例如 this 之一),我遇到了同样的问题。

【问题讨论】:

    标签: jakarta-ee glassfish osgi war


    【解决方案1】:

    GlassFish 3.1.2 中解决这个问题的方法是将glassfish3/glassfish/config/osgi.properties 配置文件中的org.osgi.framework.startlevel.beginning 选项设置为3。我还将glassfish.osgi.start.level.final 设置为4,因为我认为它应该比第一个选项具有更大的价值,虽然我不确定这是否需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多