There is a community article covering jar to OSGI bundle.
Link:- https://helpx.adobe.com/experience-manager/kb/ConvertAJarIntoOsgiBundle.html
Here's a very simple way of turning an existing jar file in an OSGi bundle, while keeping control on exported packages.
The example creates an OSGi bundle from the attached junit-4.4.jar.
Note: The method below only works in a scenario where the jar file has no dependencies on other external jar files.
- Start by creating a the jar's manifest file:
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 fileGet the jar file, in our case fromhttp://mirrors.ibiblio.org/pub/mirrors/maven2/junit/junit/4.4/junit-4.4.jar
- Create the bundle jar file by running the following command:
Wherejar cvfm junit-4.4-bundle.jar manifest.txt junit-4.4.jarmanifest.txtis the name of the manifest file created above.That's it - the resulting jar file (attached to this page as an example) is an OSGi bundle the exports the packages listed inExport-Packageabove, using the classes of the embedded junit-4.4.jar.
No comments :
Post a Comment