我有一个问题。我以 JPDA 模式启动 Tomcat,然后执行:
mvn tomcat:stop tomcat:undeploy war:inplace tomcat:inplace
然后我从 Eclipse 连接到远程 Java 应用程序。一切正常,我可以更改一些代码并且热插拔工作。
当我添加方法/更改参数时,我重新部署应用程序:
mvn tomcat:stop tomcat:undeploy war:inplace tomcat:inplace
之后,当我再次重新连接到远程 Java 应用程序时,只有现在当我更改任何文件(例如,放置一个空格或删除空格,保存)时,我才会收到代码无法换出的错误 - ”热代码替换失败 - 添加方法未实现”
。
问题是什么?
谢谢。
最佳答案
JVM 只支持对方法体的更改进行热插拔。对于其他更改,例如更改参数或添加新方法,请考虑选择支持这些的 JRebel。
关于java - Maven + Tomcat + Eclipse Java 热插拔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572556/