| 註冊 | 登入 | 全文檢索 | 排行榜 |
|
» JavaWorld@TW
» Java Tools
|
![]() ![]() ![]()
|
| 本主題所含的標籤 |
| 作者 | [note] 撰寫你的第一隻 Spring OSGi bundle | ||||||||||||||||||||
qrtt1
![]() ![]() ![]() ![]()
發文: 1004 積分: 28 |
準備工作與需要的環境 1. 下載 Spring Dynamic Modules for OSGi(tm) Service Platforms http://nchc.dl.sourceforge.net/sourceforge/springframework/spring-osgi-1.0.2-with-dependencies.zip 註:目前最近版本為 1.1.0 版,但是部分的 bundle 版本無法滿足相依性。所以我們採用與文章 Hello, OSGi, Part 2: Introduction to Spring Dynamic Modules http://www.javaworld.com/javaworld/jw-04-2008/jw-04-osgi2.html 相同的版本。 2. 您需要安裝好 Maven 3. 使用來練習的 IDE 為 Eclipse,並且裝好 M2Eclipse Plugin 建立 Spring OSGi Bundle 專案 假設專案的 package 為 foo.bar,名稱為 Orz,我們使用下列指令建立專案: For Windows
For unix-like
當專案建立完成後,您可以依習慣的 IDE 產生相關的 project 資訊。 我們現在要產生 eclipse 的專案資訊,請在建立好專案資料夾的裡面執行:
接著,開啟 Eclipse 匯入專案: ![]() 選用 Maven Project 匯入: ![]() (...經過 Maven 瘋狂地下載之後...) 開寫始 HelloWorld 老梗 在 src/main/java 資料夾的 foo.bar package 內新增 HelloWorld 類別
開啟檔案 src/main/resources/META-INF/spring/bundle-context.xml,新增 bean 的宣告
打包 bundle 1. 專案名稱上以滑鼠右鍵點開選單,找到「Run AS」選擇「Maven Package」 2. (Maven 又瘋狂地下載後) 執行完打包的動作後,您會多出 target 目錄,內有檔案 Orz-1.0.jar。這就是一個 OSGi Bundle 執行 bundle 先將下載回來的 spring dm 解壓縮,並找出下列 jar 檔,統一複製到一個資料夾(Ex. C:/APP/spring-osgi-dep)。
在您的 OSGi Container 裡,使用 install 與 start 指令,安裝與啟動這些 bundles
請使用查詢指令先確定是否這些 bundle 都已經啟動
最後按裝您剛才撰寫的 Hello World (Orz-1.0.jar)
您可以這樣啟動它,或使用他的 pid
如果您看到了 Hello Spring OSGi World!! 那就是您成功了。 蝸牛角上爭何事?石火光中寄此身,隨富隨貧且歡樂,不開口笑是癡人。 qrtt1's page |
| 作者 | Re:[note] 撰寫你的第一隻 Spring OSGi bundle [Re:qrtt1] | ||
qrtt1
![]() ![]() ![]() ![]()
發文: 1004 積分: 28 |
看起來 spring 自己的 repository 已經移到了比較舊版本的 archetype plugin 查了一下公用的 maven repostiory 已經發佈至 1.1.1 版了 http://mvnrepository.com/artifact/org.springframework.osgi/spring-osgi-bundle-archetype 執行時只要拿掉額外的 remote plugin repository 設定, 重新指定 archetype version 即可
蝸牛角上爭何事?石火光中寄此身,隨富隨貧且歡樂,不開口笑是癡人。 qrtt1's page |
| 作者 | Re:[note] 撰寫你的第一隻 Spring OSGi bundle [Re:qrtt1] |
qrtt1
![]() ![]() ![]() ![]()
發文: 1004 積分: 28 |
執行 1.1.1 版需要的 bundle log4j.osgi-1.2.15-SNAPSHOT.jar com.springsource.slf4j.log4j-1.5.0.jar com.springsource.slf4j.api-1.5.0.jar com.springsource.slf4j.org.apache.commons.logging-1.5.0.jar spring-core-2.5.5.jar spring-beans-2.5.5.jar spring-context-2.5.5.jar spring-aop-2.5.5.jar com.springsource.org.aopalliance-1.0.0.jar spring-osgi-io-1.1.1.jar spring-osgi-core-1.1.1.jar spring-osgi-extender-1.1.1.jar 蝸牛角上爭何事?石火光中寄此身,隨富隨貧且歡樂,不開口笑是癡人。 qrtt1's page |
| » JavaWorld@TW » Java Tools |
![]() ![]() ![]()
|
已讀文章 新的文章 被刪除的文章 |