14.5. war URL 处理程序
14.5.1. 概述
如果您需要在 OSGi 容器中部署 WAR 文件,您可以通过为 war
前缀的 WAR URL 自动将必要的清单标头添加到 WAR 文件中,如下所述。
14.5.2. 语法
使用以下语法之一指定 War URL:
war:warURL warref:instructionsURL
第一个语法(使用 war
方案)指定一个 WAR 文件,该文件使用默认指令转换为捆绑包中。warURL 可以是找到 WAR 文件的任何 URL。
第二个语法使用 warref
方案,指定第二属性文件 instructionsURL,其中包含转换指令(包括特定于此处理程序的一些指令)。在这个语法中,引用 WAR 文件的位置 不会在 URL 中明确显示。WAR 文件由属性文件中的(必需) WAR-URL
属性指定。
14.5.3. 特定于 WAR 的属性/结构
.bnd
指令文件中的一些属性特定于 War URL 处理程序,如下所示:
WAR-URL
- (必需)指定要转换为捆绑包的 War 文件的位置。
Web-ContextPath
指定在 Web 容器中部署后用于访问此 Web 应用的 URL 路径的部分。
注意PAX Web 的早期版本使用属性
Webapp-Context
,它 现已弃用。
14.5.4. 默认说明
默认情况下,War URL 处理程序将清单标头添加到 WAR 的 META-INF/Manifest.mf
文件中,如 表 14.2 “用于编写 WAR 文件的默认说明” 所示。
清单标头 | 默认值 |
---|---|
|
|
| 没有导出软件包。 |
|
WAR 文件的名称,其中任何不在集合中的字符 |
|
没有默认值。但是 WAR 扩展器默认使用 |
| 除了明确指定的任何类路径条目外,会自动添加以下条目:
|
14.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 会将 WAR-URL
属性引用的 WAR 文件转换为 wicket-examples-1.4.7.bnd
文件中的 WAR 文件,然后使用 .bnd
文件中的其他指令将 WAR 转换为 OSGi 捆绑包:
warref:file:E:/Data/Examples/wicket-examples-1.4.7.bnd
14.5.6. 参考
有关 war
URL 语法的详情,请查看原始 Pax URL 封装 协议 文档。