事先請安裝好Eclipse+Knopflerfish開發環境
開始一個Bundle project
•Eclipse>File>New>Project>OSGi>Bundle Project
產生一個新的bundle project用來包所需的library
產生一個新的bundle project用來包所需的library
•取名叫做e.g. xxxAPIBundle
•Next>uncheck Create Activator>Finish
不需要activator
不需要activator
•在workspace/xxxAPIBundle目錄下建lib目錄, 將所需要的library JAR檔都放在這
•回到Eclipse, 在xxxAPIBundle project目錄上右鍵重新整理(F5), 會看到lib目錄出現
設定Build path
xxxAPIBundle右鍵>Build Path>Configure Build Path, 切換到Libraries分頁
Add JARs, 不要用Add External JARs > 展開xxxAPIBundle目錄, 將lib底下所有的JAR檔加入
修改manifest
點兩下Bundle.manifest找到Export Packages
Add…>選擇所有packages> OK
畢竟包好的API bundle是要給OSGi環境的其他bundle使用,
如果你開發的主程式有需要額外Import package, 你也可以手動編輯bundle.manifest頁面。
Eclipse下方的分頁選到bundle.manifest進入純文字編輯模式
手動加入export package到manifest
在Export –Package: 一堆敘述的最後加上你所需要的package
Ctrl+S儲存, 此時project explorer內的bundle.manifest會出現紅色的x可以不理會.
輸出bundle
xxxAPIBundle專案目錄上右鍵>Export>Java>JAR file>Next
展開畫面中xxxAPIBundle目錄> 確認lib目錄有打勾
Select export destination選擇輸出位置 Browse>選擇檔名e.g. xxxAPIBundle.jar
Next>Next (不要急著按Finish)
Use existing manifest from workspace
選擇Manifest file: /xxxAPIBundle/bundle.manifest
選擇Manifest file: /xxxAPIBundle/bundle.manifest
Finish
輸出的JAR檔已可以加入到Knopflerfish供其他bundle使用。
沒有留言:
張貼留言