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