eclipse編寫第一個osgi bundle的小demo,同時導出osgi化的bundle

最近搞得項目用到了osgi,之前完全沒聽說過,在網上查了下貌似也是很老的技術,使用範圍不是很廣的樣子,但是既然用到了就要學習一下嘛,先寫個簡單的小demo,查閱了幾個博客,按照正常情況下執行總是報錯,後來經過一番研究,終於解決了報錯問題,現記錄如下。

1 .首先new-other,選擇創建plug-in Project,見下圖
這裏寫圖片描述

2 .點擊next,選擇osgi framework,指定配置爲標準,具體內容見下圖,這裏工程名隨便起
這裏寫圖片描述

3 .點擊next,進入下一步,這裏默認選項即可,見下圖
這裏寫圖片描述

4 .接下來進入next下一步,選擇模板爲Hello OSGI Bundle,內容見下圖
這裏寫圖片描述

5 .之後點擊next,最後點擊finish,這裏會自動創建號工程,同時自動生成三個文件
這裏寫圖片描述

6 .一個是Activator.java文件,另一個是MANIFEST.MF文件,還有一個是build.properties文件,內容見下圖
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

7 .接下來右擊項目,點擊run as,選擇run configuration,選擇osgi framework,這裏如果只是在workspace中選擇自己創建的osgi 項目,進行run,會報錯,之前一直卡在這裏,報的錯是下面這個
這裏寫圖片描述

8 .那麼就在target-platform中添加這個console即可,但是還是會報錯,經過多次調試,只需要加上下面這五個bundle即可成功運行,具體見下圖
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

9 .在target-platform中添加上面5個bundle之後,點擊run,執行,之後在控制檯輸出Hello World!,顯示osgi命令行,同時可以輸入ss查看當前已經安裝好的bundle都有哪些,見下圖,而且此時煩人的報錯也不見了,,,,之前一直卡在這裏解決不了,後來一個一個添加bundle終於解決了。。。。
這裏寫圖片描述

10 .以上就是在eclipse上編寫bundle的一個小例子,也算對osgi有了一個感性認知吧,所謂bundle其實就是osgi化的jar包。與普通jar包最大的區別就是不同項目下的bundle可以互相調用。這其實就是模塊化的思想。

11 .之後由於osgi的項目會讓不同項目之間相互引用,那麼首先要將項目bundle化,也就是將項目導成插件,右擊剛纔創建的項目,選擇Export,具體選擇下面這個選項
這裏寫圖片描述

12.點擊next,按照下面的圖片進行配置,選擇之前創建的項目,之後點擊finish,就會在指定位置生成一個plugins文件夾,裏面就是導出的osgi化的bundle,
這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

13 .以上就是將一個osgi項目導出插件化的bundle的具體步驟。那麼osgi的東西先寫到這裏吧,睡覺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章