OSGI中MANIFEST.MF的bundle元数据信息描述

属性 属性描述 
Bundle-Activator Bundle 的 Activator类名。 
示例: 
Bundle-Activator:org.riawork.demo.Activator
html

 


Bundle-Category Bundle 的分类属性描述。 
示例: 
Bundle-Category:Opendoc,OSGIjava

 

Bundle-Classpath Bundle 的 Classpath。 
示例: 
Bundle-Classpath:/bin,/lib/log4j.jar架构

 

Bundle-ContactAddress 提供 Bundle的开发商的联系地址。 
示例: 
Bundle-ContactAddress:ShangHai 
Bundle-Copyright Bundle 的版权。 
Bundle-Description Bundle 的描述信息。 
Bundle-DocURL Bundle 的文档 URL 地址。 
Bundle-Localization Bundle 的国际化文件。 
示例: 
Bundle-Localization: OSGI-INF/l10n/bundle 
Bundle-ManifestVersion 定义 Bundle所遵循的规范的版本 OSGI R3 对应的值为 1,OSGI R4 对应的值为 2。 
Bundle-Name Bundle 的有意义的名称。 
Bundle-NativeCode Bundle 所引用的 NativeCode 的地址。 
Bundle-RequiredExecutionEnvironment Bundle 运行所须要的环境,如可指定为须要 OSGI R三、Java 1.四、Java 1.3 等。 
Bundle-SymbolicName Bundle的惟一标识名,可采用相似 java package名的机制来保证惟一性。 
Bundle-UpdateLocation Bundle 更新时链接的 URL 地址。 
Bundle-Vendor Bundle 的开发商。 
Bundle-Version Bundle 的版本 
DynamicImport-Package Bundle动态引用的 package。 
Export-Package Bundle对外暴露的 package。 
Fragment-Host Fragment 类型 Bundle 所属的 Bundle名。 
Import-Package Bundle引用的 package。 
Require-Bundle Bundle 所须要引用的其余的 Bundle。框架

 

 

 

 

另转:OSGi  MANIFEST.MF 文件详解eclipse

MANIFEST.MF 文件选项
Bundle-Activator
该类用于启动和中止绑定包。在上面的示例插件中,指定了  org.eclipse.pde.internal.ui.PDEPlugin 类。该类扩展 org.eclipse.core.runtime.Plugin,实现了  BundleActivator 接口。
Bundle-ClassPath
该属性指定要用于绑定包的 CLASSPATH。该属性能够包含对绑定包 jar 文件中目录或 jar 文件的引用。可使用句点指明绑定包的根。在示例 Eclipse PDE 绑定包中,指定了绑定包 jar 文件中的 org.eclipse.pde.ui_3.1.0.jar。若是将插件的源版本导入工做区中,导入过程将更改绑定包 CLASSPATH 以显示为  Bundle-ClassPath:,这容许插件的开发版本挑选已编译的绑定包类。
Bundle-Version
该属性指定绑定包的版本号。包导入和必需的绑定包规范能够包括绑定包版本号。
Export-Package
该属性指定要公共暴露给其余插件的全部包。
Import-Package
该属性指定要从必需插件中显式导入的全部包。默认状况下,必须为要启动的绑定包解析全部包。还能够将包导入指定为可选项,以支持包不存在的状况。显式导入的类在 Require-Bundle 插件中的包以前解析。
Require-Bundle
该属性指定要在给定绑定包中导入使用的绑定包及其已导出的包。指定的绑定包在显式包导入以后解析。

 

OSGi 规范包括的 manifest.mf 配置选项不提供 Eclipse 平台须要的全部功能。所以,Eclipse 建立者添加了多个扩展(还建议将它们包括在将来版本的 OSGi 规范中):ui

Export-Package 头扩展
Eclipse 具备两个 OSGi 解析器方法 ——  default 和  strict,可使用  osgi.resolver 属性指定它们。Eclipse 还包括对 Export-Package 属性的两个扩展 ——  x-internal 和  x-friends,启用 Strict 模式时,会强制执行这两个扩展。
x-internal
该属性的默认值是  false。当使用该选项将内部包指定为  true 时,Eclipse PDE 禁止其使用。
x-friends
该选项相似于  x-internal,但容许特定绑定包使用具备该选项的已导出包。其余绑定包被禁止。 x-internal 选项优先于 x-friends
Eclipse-AutoStart
默认状况下,Eclipse 根据须要加载绑定包。所以,当导入绑定包包含的第一个类的绑定包须要这个类时,就会加载这些绑定包。将该值指定为  ?? 会致使 Eclipse 在启动时加载绑定包。还能够指定例外状况列表,它们是无需启动包含它们的绑定包就能够加载的类和资源。
Eclipse-PlatformFilter
该属性容许为要启动的绑定包指定必须等于  true 的条件。能够将下列信息包括在指定的表达式中:
  • osgi.nl,表示语言
  • osgi.os,表示操做系统
  • osgi.arch,表示架构
  • osgi.ws,表示窗口系统
展现如何使用该属性的一个示例是,在启动使用  SWT_AWT 桥的插件以前验证操做系统是不是 Mac OS X。(Standard Widget Toolkit(SWT)的 Mac OS X 实现当前不支持该功能。)
Eclipse-BuddyPolicy
该选项指定加载绑定包策略的类。一般,绑定包只在其内部类和从依赖绑定包中导入的内部类中具备可见性。在 Eclipse 新闻组中用来解释伙伴类加载的流行示例是 Hibernate。Hibernate 框架必须查看用户建立的而非 Hibernate 自己一部分的类和资源。这样的一种状况是当使用项目动态填充来自 Hibernate Query Language(HQL)查询的类时。默认状况下,Hibernate 将没法查看位于包含 Hibernate jar 文件的插件外部的类,而须要修改 Hibernate 插件以建立包含 Hibernate 地图不可接受的类的每一个插件。幸运的是, 伙伴类加载器选项 一节中介绍的伙伴类加载器选项解决了这个问题。
相关文章
相关标签/搜索