What does Tool/Bundle-Name/Export-Package etc. mean in a jar manifest
jar, java, manifest, osgi
Solution
The Bundle attributes define info wrt. OSGi bundles. An OSGi bundle is simply a .jar file that also defines (via the attributes) what it exports, and what its dependencies are (including versions). Note that the .jar file can be used as a standard .jar file - the bundle information is only used in an OSGi container.
This JavaWorld article is a good introduction.
Problem
I'm looking at the manifest.mf for some apache libraries. While I can guess what Export-Package means, I can't find any documentation for these attributes ? Could anyone point me in the right direction. Here.s an example: ``` Manifest-Version: 1.0 Created-By: 1.6.0_07 (Sun Microsystems Inc.) Built-By: pemben Implementation-Title: Commons BeanUtils Implementation-Vendor: The Apache Software Foundation Implementation-Vendor-Id: org.apache Implementation-Version: 1.8.2 Specification-Title: Commons BeanUtils Specification-Vendor: The Apache Software Foundation Specification-Version: 1.8.2 Export-Package: org.apache.commons.beanutils.locale.converters; Private-Package: org.apache.commons.collections;version="1.8.2" Ignore-Package: org.apache.commons.collections Tool: Bnd-0.0.238 Bundle-Name: Commons BeanUtils Bundle-Vendor: The Apache Software Foundation Bundle-Version: 1.8.2 Bnd-LastModified: 1257775355133 Bundle-ManifestVersion: 2 Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt Bundle-Description: BeanUtils provides an easy-to-use but flexible wra pper around reflection and introspection. Import-Package: org.apache.commons.beanutils;version="1.8.2" Bundle-SymbolicName: org.apache.commons.beanutils Bundle-DocURL: http://commons.apache.org/beanutils/ ```