在實際的開發過程中,經常會不斷的重複着發佈,重啓服務等使人非常煩躁的問題,在Karaf環境下,可以輕鬆的避免這個問題了。
那就是dev:watch命令,通過輸入dev:watch 【BundleID】,就可以輕鬆的監控你安裝的bundle了。這個需要說明的就是,只能監控snapshot版本。官方命令參考
下載karaf的2.3.3,在console下輸入mvn:com.liming.platform.osgi-project/com.liming.platform/1.0-SNAPSHOT,這是我的測試bundle,就是控制檯輸出一段文字。
然後輸入dev:watch 69,dev:watch --start,此時修改源代碼,install,發現並沒有出現更新。
解決的辦法是這樣的,打開/etc/org.ops4j.pax.url.mvn.cfg,編輯以下:
# * 4. if not found looks for ${M2_HOME}/conf/settings.xml
#
org.ops4j.pax.url.mvn.settings = file:D:\\JavaTools\\apache-maven-3.0.4\\conf\\settings.xml
#
# Path to the local Maven repository which is used to avoid downloading
# artifacts when they already exist locally.
# The value of this property will be extracted from the settings.xml file
# above, or defaulted to:
# System.getProperty( "user.home" ) + "/.m2/repository"
org.ops4j.pax.url.mvn.localRepository=D:\\maven\\repository
注意:
org.ops4j.pax.url.mvn.localRepository這行必須要打開,這樣就可以享受dev:watch給我們帶來的服務了。