我正在运行JBoss 4.0.3.SP1_CP04并使用Eclipse 3.4.1的调试器连接到它,两者都使用JDK 1.6.0_11。
当我对方法进行微小更改(例如将逻辑中的“+ 1”更改为“+ 2”)并保存时,我立即收到一个标题为“Hot Code Replace Failed”的错误消息对话框错误“删除方法未实现”
Hot code replace failed dialog http://img6.imageshack.us/img6/531/hotcodereplacefailedkp6.png
有人可以建议让这个工作的步骤吗?
答案 0 :(得分:4)
您要做的是以exploded WAR部署到JBOSS。通常情况下,如果编辑器进行了初始部署,那么它将在更改时管理复制单个文件。
在IntelliJ中,this is easy。我从来没有从Eclipse那里做过,但是this project是你最好的选择。
答案 1 :(得分:2)
我一直在使用JRebel,就修改代码和动态更新应用服务器而言,它可以节省生命。第一天支付给自己。 (我们有7分钟的编译/部署/重启周期)
答案 2 :(得分:1)
答案 3 :(得分:1)
原因是程序集可以使用其他编译器进行热交换。例如,如果您通过maven构建项目,我们使用javac。当您尝试执行热交换时,etslipse使用内置编译器jdt编译器(编译器不是从已安装的jdk中获取的,并且无法通过常规方式进行更改。)。获得的二进制类是不同的,jvm不能替代它们。
答案 4 :(得分:0)
你所描述的应该有用。你有什么jbm args来启用调试?
我的是这些: -Xdebug -Xnoagent -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n
答案 5 :(得分:0)
我遇到了热码替换本身无法正常工作的问题。我们做了一些更改,例如确保选中“自动构建”并取消选中 - “发生构建路径错误时中止构建”。但就我而言,HCR本身并不起作用。我没有收到您提到的消息。更多细节在此链接中。 https://sites.google.com/site/javaerrorsandsolutions/home/hot-code-replacement