Convert a JAR file into an OSGi bundle
To convert a Java Archive (JAR) file into an OSGi bundle, follow the steps to create an OSGi bundle from the attached junit-4.4.jar, as described in this article below.
Description description
Environment
Experience Manager
Issue/Symptoms
How do I convert an existing Java Archive (JAR) file into an Open Service Gateway Initiative (OSGi) bundle?
Resolution resolution
-
Start by creating a JAR’s manifest file:
code language-none Manifest-Version: 1.0 Created-By: myself Bundle-ManifestVersion: 2 Bundle-Name: JUnit 4.4 bundle Bundle-Description: Package junit 4.4 in an OSGi bundle Bundle-Version: 4.4.0 Bundle-ClassPath: .,junit-4.4.jar Bundle-SymbolicName: org.junit.framework Export-Package: junit.framework,junit.extensions,org.junit.runner,org.junit,junit.textuiBundle-ClassPathheader is set to allow embedding the original jar as is. Make sure its value matches the filename of the jar that you are going to embed in the bundle.Export-Packageis a list of packages contained in the jar that you would like to make available to other bundles running in the OSGi Container.
-
JAR file
Get the jar file.
-
Create the bundle jar file by running the following command:
code language-none jar cvfm junit-4.4-bundle.jar manifest.txt junit-4.4.jarWhere
manifest.txtis the name of the manifest file created above.
That’s it - the resulting jar file is an OSGi bundle the exports the packages listed in Export-Package above, using the classes of the embedded junit-4.4.jar.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f