如下內容參考《OSGi and Apache Felix 3.0 Beginner's Guide》,做爲本身的學習記錄。java
在OSGi框架中,bunlde做爲其模塊化實體,咱們把bundle做爲一個project進行開發。api
開發:框架
1. 使用maven默認的文件結構做爲bunlde的文件結構:maven
2. 在com.packtpub.felix.bookshelf-inventory-api目錄下有pom.xml文件。該文件用於存放bundle的相關信息,maven和felix用這些信息構建bundle。ide
3. 項目的java文件存放於src/main/java目錄下。模塊化
部署學習
1. 首先確保安裝好maven,將下載好的maven文件進行解壓,而後在環境變量的path中添加解壓文件中bin文件路徑便可。在命令行用指令mvn -version檢查是否安裝成功。ui
2.進入到bundle文件目錄,即com.packtpub.felix.bookshelf-inventory-api目錄。用指令mvn clean deploy進行build和部署。spa
3. 成功部署後會生成項目release文件夾,裏面的repository.xml文件做爲bundles的倉庫,Felix經過它對bundles進行訪問。命令行
安裝到Felix
1. 向OBR服務註冊項目的repository:
repos add file:///C:/projects/felixbook/releases/repository.xml
2. 查看註冊repository的bundles(用於檢查是否註冊成功,book做爲bundles名字的過濾條件):
list book
3. 該bundle位於框架中第2級,所以設置初始化組件級爲2,框架級爲2。即框架從會第二級開始啓動。
bundlelevel -i 2
frameworklevel 2
4. 安裝並啓動bundle
deploy -s "Bookshelf Inventory Impl - Mock"
5. 查看bundles,能夠看到安裝的bundles被啓動
至此,bundle的部署、安裝完成。