在双子座容器中扩展war包导入

时间:2012-07-25 07:36:28

标签: java osgi eclipse-gemini

如果我将war文件部署到gemini容器中(例如virgo有一个),它将通过添加一些包导入(除了其他东西)即时转换为osgi包。 是否有可能以某种方式扩展这些默认包导入使用例如bundle-listener或类似的东西? 问候

1 个答案:

答案 0 :(得分:0)

我强烈建议您在部署到Gemini容器之前自己进行转换,而不是强制Gemini在运行中进行转换。首先,这很容易做到;第二,部署速度会快得多;第三,您将能够添加所需的特定导入。

为了将标准WAR文件转换为与传统WAR部署保持兼容的WAB(Web应用程序包),您只需将以下标头添加到WAR的MANIFEST.MF

  • Web-ContextPath定义将在其下提供Web应用程序的上下文路径
  • Bundle-ClassPath设置为WEB-INF/classes以及WEB-INF/lib下的所有JAR。您必须明确说出这些名称,例如:Bundle-ClassPath: WEB-INF/classes,WEB-INF/lib/a.jar,WEB-INF/lib/b.jar...
  • Import-Package: javax.servlet,javax.servlet.http以及您要导入的任何其他内容。