我希望能夠從Eclipse中輕鬆調試在Apache Karaf中運行的OSGi包。到目前爲止,我確定的最簡單的方法是創建一個啓動Karaf的Java應用程序啓動器。如果捆綁包以前安裝過,那麼我可以設置斷點,即使在激活器中也是如此,並且一切都很好。在Eclipse中調試Karaf捆綁包:persist dev:觀看URLs/ID?
問題是,當代碼發生變化時,調用mvn install,然後調用Eclipse Karaf啓動器,我正在運行該緩存的舊版本。我已經從命令行運行Karaf,使用Maven URL安裝我的包,並使用dev:watch成功。但是我發現dev:watch URL並沒有被持久化。因此,當從Eclipse啓動Karaf時,沒有觀看URL(當Karaf關閉時以前的URL丟失),並且沒有安裝新版本的軟件包。
有沒有辦法讓dev:看URLs是持久的?我查找了可能包含URL的屬性,甚至可以用來指定沒有運氣的URL的Karaf命令行選項。我甚至嘗試將dev:watch命令添加到etc/shell.init.script中,但是我在Karaf啓動時收到了此消息「初始化腳本錯誤:未找到命令:dev:watch。」我假設這意味着命令也運行早在Karaf啓動序列(開發功能尚未開始?)。
任何幫助將不勝感激,甚至替代方式,我沒有考慮輕鬆調試從卡拉夫在Eclipse中運行包。目標是避免需要使用手動命令,如osgi:每次代碼更改時安裝。