2012-03-05 42 views
2

我遇到問題了。我以JPDA模式啓動Tomcat,然後執行:Maven + Tomcat + Eclipse Java hotswap

mvn tomcat:stop tomcat:undeploy war:inplace tomcat:inplace 

之後,我從Eclipse連接到遠程Java應用程序。所有工作正常,我可以更改一些代碼和熱插拔工作。

當添加方法/改變參數I重新部署該應用:

mvn tomcat:stop tomcat:undeploy war:inplace tomcat:inplace 

後,當我重新連接到遠程Java應用程序再次,只是現在當我改變任何文件(例如,將一個空間或刪除空間,保存)我得到一個錯誤,代碼不能被換出 - "Hot Code Replace Failed - add method not implemented"

什麼問題?

謝謝。

+0

好像選擇plexus-compiler-eclipse作爲編譯器正在解決這個問題,我正在測試它。 – 2012-03-06 13:15:31

回答

0

JVM僅支持熱插拔以更改方法主體。對於其他更改,例如更改參數或添加新方法,請考慮選擇支持這些參數的JRebel。

0

這個Spring Loaded JVM代理應該更好。首先,它具有當前JVM熱代碼替換缺乏的新參數和方法功能。我最近得到了這個設置,並驗證了現有類中的新方法按預期工作。