開發:隨筆記錄之 OSGI的jar新增幾個小問題及其注意的地方

執筆記憶的空白發表於2014-11-18

在引用jar包的時候,如果是專案中引用的包,則需要在MANIFEST.MF 裡面定義


一、外部jar:

比如:外部包引用需要在Import package裡面 定義一下,如:google-gson-2.2.2.jar   我需要引用這個外部包的話,

需要在Import package 裡面加入一行:com.google.gson;version="2.2.2",   這裡有個值得注意的地方,如下(這裡是網上搜集的,具體我沒實踐):

BundleA:

import-package: org.yj;version="1.0.0",這樣寫,意味著只要Bundle B的 org.yj的版本不小於1.0.0都是可以reslove成功,可以import到的。

BundleA:

import-package: org.yj;version="[1.0.0,1.0.0]",這樣寫,意味只有匹配version="1.0.0"才能能resovle成功。


二、將jar放入lib下面:

將jar放入lib下面。  這個時候,需要在MANIFEST.MF的 Bundle-ClassPath裡面加入對lib包的引用,如:

lib/google-gson-2.2.2.jar       切忌,不用再在Import package裡面定義了


三、如果以上都配置,還報出jar包沒引用或者ClassNotFound

這個時候可以嘗試在bundles下面加入jar包,並在config.ini加入該jar的啟動

相關文章