2011-07-21 76 views
3

我遇到麻煩,更新我的軟件包gogo shell。 我有一個gogo shell在終端上運行。我的包在那裏活躍。如何更新Apache Felix OSGi框架中的軟件包

現在,當我對代碼進行更改時,將這些更改轉發到正在運行的OSGi框架中需要執行哪些步驟?

我跑了更新<bundleId>但沒有任何反應。它仍然運行我在開始框架時編譯的相同版本。 更新命令之前,我打開另一個終端並運行mvn clean install(我使用maven-bundle-plugin以及pax-construct)。

+0

是OSGi框架您的計算機上運行,​​或者你有你的終端進行遠程連接? – FrVaBe

+0

它在我的電腦上運行 – hooch

回答

2

在使用Maven時,我檢查更新代碼的工作流程涉及兩個終端。

  • 更新代碼後,我從將構建實際包的項目運行mvn install。跟蹤目標包所在系統上的絕對位置。
  • 在運行框架中,我更新了捆綁包,給它一個URL;像update 25 file:///Users/you/project/bundle/target/bundle.jar

如果你不自由使用Maven和大同亞軍,你也可以看看bndtools,這是一個Eclipse插件。然後,您可以繼續使用bndtools爲您構建的捆綁包,並使用Pax Runner運行它們。

+0

非常感謝!絕對的類路徑做到了。我曾嘗試與相對之前,但得到一個I/O異常。 (或者我拼錯了它..) – hooch

0

闖闖是通過OBR本地回購如下:
- 假設神器被稱爲測試的API,然後
一)g! deploy test-api下ID部署:25 後的代碼做了進一步的修改
mvn clean install做:
1)g! update 25
2)g! refresh
,如果沒有結果,那麼之前在步驟1)儘量g! repos refresh file:///c:/Users/.m2/repository.xml刷新本地OBR回購