9.3. Converting a JAR Using the wrap Scheme


Overview

You also have the option of converting a JAR into a bundle using the wrap scheme, which can be prefixed to any existing URL format. The wrap scheme is also based on the Bnd utility.

Syntax

The wrap scheme has the following basic syntax:
wrap:LocationURL
The wrap scheme can prefix any URL that locates a JAR. The locating part of the URL, LocationURL, is used to obtain the (non-bundlized) JAR and the URL handler for the wrap scheme then converts the JAR automatically into a bundle.
Note
The wrap scheme also supports a more elaborate syntax, which enables you to customize the conversion by specifying a Bnd properties file or by specifying individual Bnd properties in the URL. Typically, however, the wrap scheme is used just with its default settings.

Default properties

Because the wrap scheme is based on the Bnd utility, it uses exactly the same default properties to generate the bundle as Bnd does—see the section called “Default property file”.

Wrap and install

The following example shows how you can use a single console command to download the plain commons-logging JAR from a remote Maven repository, convert it into an OSGi bundle on the fly, and then install it and start it in the OSGi container:
JBossFuse:karaf@root> osgi:install -s wrap:mvn:commons-logging/commons-logging/1.1.1

Feature example

Example 9.1, “The example-jpa-osgi Feature” shows how the example-jpa-osgi feature combines the mvn scheme and the wrap scheme in order to download the plain HyperSQL JAR file and convert it to an OSGi bundle on the fly.

Example 9.1. The example-jpa-osgi Feature

<feature name="examples-jpa-osgi" version="6.2.1.redhat-084">
    <feature version="6.2.1.redhat-084">jpa-hibernate</feature>
    <bundle>wrap:mvn:hsqldb/hsqldb/1.8.0.7</bundle>
    <bundle>mvn:org.apache.servicemix.examples.jpa-osgi/wsdl-first-cxfbc-bundle/6.2.1.redhat-084</bundle>
    <bundle>mvn:org.apache.servicemix.examples.jpa-osgi/wsdl-first-cxfse-bundle/6.2.1.redhat-084</bundle>
</feature>

Reference

The wrap scheme is provided by the Pax project, which is the umbrella project for a variety of open source OSGi utilities. For full documentation on the wrap scheme, see the Wrap Protocol reference page.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.