15.5. war URL Handler
15.5.1. 概述
如果您需要在 OSGi 容器中部署 WAR 文件,您可以通过使用 war:
前缀为 WAR 文件自动添加必需的清单标头到 WAR 文件,如下所述。
15.5.2. 语法
使用以下语法之一指定 War URL:
war:warURL warref:instructionsURL
第一个语法使用 war
方案指定 WAR 文件,该文件使用默认说明转换为捆绑包。warURL 可以是找到 WAR 文件的任何 URL。
第二个语法使用 warref
方案指定 Bnd 属性文件 instructionsURL,其中包含转换指令(包括特定于此处理程序的一些指令)。在这个语法中,引用的 WAR 文件的位置 没有明确 出现在 URL 中。WAR 文件通过属性文件中的 WAR 属性指定(必需) WAR-URL
属性。
15.5.3. WAR 特定属性/结构
.bnd
指令文件中的部分属性特定于 War URL 处理程序,如下所示:
WAR-URL
- (必需)指定要转换为捆绑包的 War 文件的位置。
Web-ContextPath
指定在 Web 容器内部署此 Web 应用后用于访问此 Web 应用的 URL 路径。
注意PAX Web 的早期版本使用 属性
Webapp-Context
,现在已弃用。
15.5.4. 默认说明
默认情况下,War URL 处理程序将清单标头添加到 WAR 的 META-INF/Manifest.mf
文件中,如 表 15.2 “Wrapping a WAR 文件的默认指令” 所示。
manifest Header | 默认值 |
---|---|
|
|
| 没有导出软件包。 |
|
WAR 文件的名称,其中任何不在集合 |
|
没有默认值。但是,WAR 扩展器 默认使用 |
| 除了明确指定的任何类路径条目外,还会自动添加以下条目:
|
15.5.5. 例子
以下 War URL 在 Maven 存储库中找到 wicket-examples
WAR 版本 1.4.7,并使用默认说明将其转换为 OSGi 捆绑包:
war:mvn:org.apache.wicket/wicket-examples/1.4.7/war
以下 Wrap URL 明确指定 Web-ContextPath
:
war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket
以下 War URL 将 wicket
属性引用 WAR 文件,然后使用 -examples-1.4.7.bnd
文件中的 WAR.bnd
文件中的其他指令将 WAR 转换成 OSGi 捆绑包:
warref:file:E:/Data/Examples/wicket-examples-1.4.7.bnd
15.5.6. 参考
有关 war
URL 语法的详情,请查看原始 Pax URL War Protocol 文档。