2012-03-05 84 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热代码替换缺乏的新参数和方法功能。我最近得到了这个设置,并验证了现有类中的新方法按预期工作。