15.5. war URL 处理程序


15.5.1. 概述

如果您需要在 OSGi 容器中部署 WAR 文件,您可以通过为 war 前缀的 WAR URL 自动将必要的清单标头添加到 WAR 文件中,如下所述。

15.5.2. 语法

使用以下语法之一指定 War URL:

war:warURL
warref:instructionsURL
Copy to Clipboard Toggle word wrap

第一个语法(使用 war 方案)指定一个 WAR 文件,该文件使用默认指令转换为捆绑包中。warURL 可以是找到 WAR 文件的任何 URL。

第二个语法使用 warref 方案,指定第二属性文件 instructionsURL,其中包含转换指令(包括特定于此处理程序的一些指令)。在这个语法中,引用 WAR 文件的位置 不会在 URL 中明确显示。WAR 文件由属性文件中的(必需) WAR-URL 属性指定。

15.5.3. 特定于 WAR 的属性/结构

.bnd 指令文件中的一些属性特定于 War URL 处理程序,如下所示:

WAR-URL
(必需)指定要转换为捆绑包的 War 文件的位置。
Web-ContextPath

指定在 Web 容器中部署后用于访问此 Web 应用的 URL 路径的部分。

注意

PAX Web 的早期版本使用属性 Webapp-Context,它 现已弃用

15.5.4. 默认说明

默认情况下,War URL 处理程序将清单标头添加到 WAR 的 META-INF/Manifest.mf 文件中,如 表 15.2 “用于编写 WAR 文件的默认说明” 所示。

Expand
表 15.2. 用于编写 WAR 文件的默认说明
清单标头默认值

import-Package

javax.,org.xml.,org.w3c.*

export-Package

没有导出软件包。

Bundle-SymbolicName

WAR 文件的名称,其中任何不在集合中的字符 [a-zA-Z0-9_-\ . ] 替换为句点。

Web-ContextPath

没有默认值。但是 WAR 扩展器默认使用 Bundle-SymbolicName 的值。

Bundle-ClassPath

除了明确指定的任何类路径条目外,会自动添加以下条目:

  • .
  • WEB-INF/classes
  • 来自 WEB-INF/lib 目录的所有 JAR。

15.5.5. 例子

以下 War URL 在 Maven 存储库中找到 wicket-examples WAR 的 1.4.7 版本,并使用默认说明将其转换为 OSGi 捆绑包:

war:mvn:org.apache.wicket/wicket-examples/1.4.7/war
Copy to Clipboard Toggle word wrap

以下 Wrap URL 明确指定 Web-ContextPath

war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket
Copy to Clipboard Toggle word wrap

以下 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
Copy to Clipboard Toggle word wrap

15.5.6. 参考

有关 war URL 语法的详情,请查看原始 Pax URL 封装 协议 文档。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat