Pregunta

Estoy mirando el manifest.mf para algunas bibliotecas apache. Si bien puedo adivinar qué significa Export-Package, ¿no puedo encontrar ninguna documentación para estos atributos? ¿Alguien podría señalarme en la dirección correcta? Aquí hay un ejemplo:

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/
¿Fue útil?

Solución

Los atributos Bundle definen info wrt. OSGi paquetes . Un paquete OSGi es simplemente un archivo .jar que también define (a través de los atributos) qué exporta y cuáles son sus dependencias (incluidas las versiones). Tenga en cuenta que el archivo .jar se puede usar como un archivo .jar estándar; la información del paquete solo se usa en un contenedor OSGi.

Este artículo de JavaWorld es un buena introducción.

Otros consejos

Esto es OSGi . Eclipse lo usa, también nutch.

Del Export-Package archivado, supongo que está viendo un Paquete OSGi .

Consulte el artículo de Wikipedia o la página de inicio de OSGi para obtener más información.

Si desea explicaciones realmente buenas sobre el significado de las entradas del manifiesto OSGi, le sugiero que lea la especificación . No es muy largo y explicará con todo detalle todo lo que desea saber. Además, tenga en cuenta que el archivo Manifest.mf no es específico de OSGi; otras bibliotecas de Java también lo utilizan. Como tal, no todas las entradas que ve arriba están definidas por la especificación OSGi, como 'Tool' y 'Bnd-LastModified', que fueron agregadas por Utilidad Bnd .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top