“热代码替换”不起作用 -- Eclipse 不会更改 JBoss 上的任何代码

2022-09-02 05:11:50

我目前遇到“热代码替换”的问题,无法在Eclipse Galileo和JBoss 4.2.3上运行。

在其他应用程序中,我正在本地JBoss上运行爆炸式的Java WAR。构建它的项目由 Maven 管理。我使用 Maven goal war:exploded 构建项目,然后使用 ANT 脚本将该目录复制到 JBoss。

当我现在运行应用程序并在代码中的任何位置设置断点时,Eclipse 在调试模式下会在该行处正确停止。但是当我对源文件进行更改并保存它时,Eclipse 不会将此更改应用于 JBoss。例如,当我将普通代码行转换为注释时,调试器仍然会像常规 Java 代码一样跨过此注释。或者,当我删除一行时,调试器似乎与文件不同步,并开始单步执行括号。

但我也没有收到任何“热代码替换错误”消息。在我看来,Eclipse 将更改应用于源文件,但不会将其应用于 JBoss。

是否有任何特殊首选项必须打开才能使热代码替换正常工作?或者,在构建应用程序并将其部署到 JBoss 的方式上是否存在任何错误?


答案 1

我没有与JBoss合作,但我有两个建议。

  1. 如果您使用启动配置

    在 eclipse 中运行应用程序,您的“项目” - “自动构建”标志是否启用?否则,代码不会编译并忽略 t 运行时。

  2. 在远程模式下调试应用程序时,不能更改代码,但可以更改参数的值。(我想)


答案 2

我在使用Maven和Eclipse的项目中遇到了问题。未显示错误,但热代码替换不起作用。我读到必须检查“自动构建”。我检查了这个,它仍然不起作用。我在构建路径中的其他项目中遇到了一些错误。我认为这就是错误所在。当我研究时,我发现我们必须取消选中“在构建路径错误时中止构建”。我已经在下面的链接中给出了详细信息。


推荐