我正在查看一些apache库的manifest.mf。虽然我可以猜出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/
有帮助吗?

解决方案

Bundle属性定义info wrt。 OSGi 捆绑。 OSGi包只是一个.jar文件,它还定义(通过属性)它导出的内容,以及它的依赖项(包括版本)。请注意,.jar文件可用作标准.jar文件 - 捆绑信息仅用于OSGi容器。

此JavaWorld文章是一个好的介绍。

其他提示

这是 OSGi 。 Eclipse使用它,也是nutch。

Export-Package 字段中,我猜您正在查看 OSGi Bundle

查看维基百科文章或 OSGi主页了解详情。

如果您想要对OSGi Manifest条目的含义进行非常好的解释,我强烈建议您阅读规范。它不会很长,并且会详细解释您想知道的所有内容。另外,请记住Manifest.mf文件不是特定于OSGi的;其他Java库也使用它。因此,并非您在上面看到的所有条目都是由OSGi规范定义的,例如“工具”和“Bnd-LastModified”,它们是由 Bnd utility

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top