添加Bundle的元数据

OSGi Manifest详解

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

 


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

 

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 R3、Java 1.4、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 文件详解

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 规范中):

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 地图不可接受的类的每个插件。幸运的是, 伙伴类加载器选项 一节中介绍的伙伴类加载器选项解决了这个问题。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值