OSGi MF檔案的解釋

2021-09-13 15:42:06 字數 3002 閱讀 6132

/meta-inf/manifest.mf檔案中定義了bundle的元資料資訊。

bundle-symbolicname: 設定bundle在osgi容器中的全域性唯一標示符。	

說明:1)這個標記是bundle元資料資訊中唯一乙個必須設定的標記。

2)程式根據bundle-symbolicname和bundle-version在osgi容器中找到乙個獨一無二的bundle。

3)osgi容器中不允許有個兩個bundle-symbolicname和bundle-version都相同的bundle存在。

引數:singleton:表示bundle是單例的,預設為false。

fragment-attachment:設定fragment bundle是否可以附加到該bundle中,值可以為:always、never、resolve-time(解析過程中),預設為always。

舉例:bundle-symbolicname: com.jxn.osgi.example.impl;singleton:=true

bundle-version: 設定bundle的版本號。

預設:0.0.0

舉例:bundle-version: 1.0.0

fragment-host: 如果該bundle是乙個fragment bundle,則該標記表示它的宿主bundle。

取值:bundle-symbolicname的值。

引數:bundle-version的值。

bundle-activationpolicy: 設定bundle的載入策略。

預設:bundle在伺服器啟動的時候就被啟用。

取值:lazy:bundle將在其它bundle請求載入該bundle中的資源時才會被啟用。

bundle-activator: 設定bundle的啟動器類(activator)。

說明:1)該啟動器類必須實現org.osgi.framework.bundleactivator介面。

2)在bundle啟動和停止時會分別呼叫該類的start()方法和stop()方法。

3)啟動器類(activator)常用於bundle啟動時註冊和初始化服務。

舉例:bundle-activator: com.jxn.osgi.example.impl.activator

bundle-classpath: 設定bundle的類路徑。

說明:該路徑應為bundle內部的合法路徑,如果有多個classpath,則使用逗號分隔。

舉例:bundle-classpath: ., bin/

bundle-manifestversion: 設定bundle遵循osgi規範的版本。

取值:1:遵循osgi r3規範

2:遵循osgi r4/r5規範

舉例:bundle-manifestversion: 2

bundle-requiredexecutionenvironment: 設定bundle所需的執行環境。

說明:如果支援多種執行環境,則使用逗號分隔。

舉例:bundle-requiredexecutionenvironment: j2se-1.5

bundle-vendor: 設定bundle的發行者資訊。

舉例:bundle-vendor: jxn

bundle-nativecode: 如果bundle中需要使用jni載入其它語言實現的本地**,則必須使用該標記進行說明。

引數:osname:作業系統名稱。

osversion:作業系統版本。

processor:處理器。

language:語言。

舉例:bundle-nativecode: /lib/http.dll; osname=qnx; osversion=3.1

import-package: 設定bundle中需要匯入的包。

說明:如果需要匯入的包不存在,則會導致bundle解析失敗。

舉例:import-package: com.jxn.osgi.example.data.model,

com.jxn.osgi.example.data.service,

com.jxn.osgi.example.data.types,

com.jxn.osgi.example.service.context,

com.jxn.osgi.example.service.model,

com.jxn.osgi.example.service.role,

org.osgi.framework,

org.springframework.osgi.extensions.annotation,

org.springframework.transaction,

org.springframework.transaction.annotation

export-package: 設定bundle中可以被匯出的包。

說明:可以根據類名、版本等過濾

引數:include:包中需要匯出的資源。

exclude:包中禁止匯出的資源。

uses:說明匯出包的依賴關係

舉例:export-package: com.jxn.osgi.example.service.context,

com.jxn.osgi.example.service.role;include="io*";exclude="*queryrole"

dynamicimport-package: 設定執行時動態匯入的包。

說明:1)如果動態匯入的包不存在,那麼也不會影響bundle的正常解析

2)只有真正使用到需要動態匯入的包中的類時,如果該包中的類不存在,此時才會丟擲classnotfoundexception異常。

require-bundle: 設定bundle所依賴的其它bundle。

說明:相當於把依賴的bundle中所有宣告為匯出的包都匯入了。

舉例:require-bundle: com.jxn.osgi.example.service, com.jxn.osgi.example.data

注意:

linux filesystem 檔案解釋

大概放了以下檔案 bin,的意思是binary,二進位制檔案的意思。這裡存放的是root使用者以及普通使用者都可以使用的命令和程式 sbin的意思是system binary 這裡存放的是系統程式。只有root使用者才可以使用這裡的程式。etc configuration files usr dev...

war檔案解釋

1.war其實就是.zip格式,你用winzip都可以做乙個,想壓縮成.zip再把字尾名改為war就行了,只不過需要注意壓縮的層次和相應的配置檔案的位置。一般都用開發工具的生成嚮導做乙個。2.war包一般就是乙個用於發布的檔案,一般是不會在其他工程中匯入的,只有jar包才會匯入到其它工程中,在工程屬...

html dtd檔案解釋

doctype是document type 文件型別 的簡寫,在web設計中用來說明你用的xhtml或者html是什麼版本。要建立符合標準的網頁,doctype宣告是必不可少的關鍵組成部分 除非你的xhtml確定了乙個正確的doctype,否則你的標識和css都不會生效。語法html 頂級元素 可用...