Что означает Tool / Bundle-Name / Export-Package и т. Д. В манифесте jar - PullRequest
5 голосов
/ 29 ноября 2009

Я смотрю на manifest.mf для некоторых библиотек apache. Хотя я могу догадаться, что означает Export-Package, я не могу найти документацию для этих атрибутов? Может ли кто-нибудь указать мне в правильном направлении. Вот пример:

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/

Ответы [ 4 ]

4 голосов
/ 29 ноября 2009

Атрибуты Bundle определяют информацию относительно. OSGi связки . Пакет OSGi - это просто файл .jar, который также определяет (через атрибуты), что он экспортирует и каковы его зависимости (включая версии). Обратите внимание, что файл .jar можно использовать как стандартный файл .jar - информация о пакете используется только в контейнере OSGi.

Эта статья о JavaWorld является хорошим введением.

1 голос
/ 30 ноября 2009

Если вам нужны действительно хорошие объяснения значения записей OSGi Manifest, я настоятельно рекомендую вам прочитать спецификацию . Это не очень долго и подробно объяснит все, что вы хотите знать. Также имейте в виду, что файл Manifest.mf не является специфическим для OSGi; другие библиотеки Java также используют это. Таким образом, не все записи, которые вы видите выше, определены спецификацией OSGi, например, «Инструмент» и «Bnd-LastModified», которые были добавлены утилитой Bnd .

.
1 голос
/ 29 ноября 2009

Из поля Export-Package, я думаю, вы смотрите на OSGi Bundle .

Подробности смотрите в статье в Википедии или на домашней странице OSGi .

1 голос
/ 29 ноября 2009

Это OSGi . Eclipse использует его, также Nutch.

...