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 地圖不可接受的類的每一個插件。幸運的是, 夥伴類加載器選項 一節中介紹的夥伴類加載器選項解決了這個問題。
相關文章
相關標籤/搜索