此内容没有您所选择的语言版本。

A.5. War URL Handler


Overview

If you need to deploy a WAR file in an OSGi container, you can automatically add the requisite manifest headers to the WAR file by prefixing the WAR URL with war:, as described here.

Syntax

A War URL is specified using either of the following syntaxes:
war:warURL
warref:instructionsURL
The first syntax, using the war scheme, specifies a WAR file that is converted into a bundle using the default instructions. The warURL can be any URL that locates a WAR file.
The second syntax, using the warref scheme, specifies a Bnd properties file, instructionsURL, that contains the conversion instructions (including some instructions that are specific to this handler). In this syntax, the location of the referenced WAR file does not appear explicitly in the URL. The WAR file is specified instead by the (mandatory) WAR-URL property in the properties file.

WAR-specific properties/instructions

Some of the properties in the .bnd instructions file are specific to the War URL handler, as follows:
WAR-URL
(Mandatory) Specifies the location of the War file that is to be converted into a bundle.
Web-ContextPath
Specifies the piece of the URL path that is used to access this Web application, after it has been deployed inside the Web container.
Note
Earlier versions of PAX Web used the property, Webapp-Context, which is now deprecated.

Default instructions

By default, the War URL handler adds manifest headers to the WAR's META-INF/Manifest.mf file as shown in Table A.2, “Default Instructions for Wrapping a WAR File”.
Table A.2. Default Instructions for Wrapping a WAR File
Manifest HeaderDefault Value
Import-Packagejavax.*,org.xml.*,org.w3c.*
Export-PackageNo packages are exported.
Bundle-SymbolicNameThe name of the WAR file, where any characters not in the set [a-zA-Z0-9_-\.] are replaced by period, ..
Web-ContextPathNo default value. But the WAR extender will use the value of Bundle-SymbolicName by default.
Bundle-ClassPath
In addition to any class path entries specified explicitly, the following entries are added automatically:
  • .
  • WEB-INF/classes
  • All of the JARs from the WEB-INF/lib directory.

Examples

The following War URL locates version 1.4.7 of the wicket-examples WAR in a Maven repository and converts it to an OSGi bundle using the default instructions:
war:mvn:org.apache.wicket/wicket-examples/1.4.7/war
The following Wrap URL specifies the Web-ContextPath explicitly:
war:mvn:org.apache.wicket/wicket-examples/1.4.7/war?Web-ContextPath=wicket
The following War URL converts the WAR file referenced by the WAR-URL property in the wicket-examples-1.4.7.bnd file and then converts the WAR into an OSGi bundle using the other instructions in the .bnd file:
warref:file:E:/Data/Examples/wicket-examples-1.4.7.bnd

Reference

For more details about the war URL syntax, see the original Pax URL War Protocol documentation.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.