我目前遇到“热代码替换”无法在 Eclipse Galileo 和 JBoss 4.2.3 上运行的问题。
在其他应用程序中,我正在本地 JBoss 上运行分解的 Java WAR。构建它的项目由 Maven 管理。我使用 Maven 目标 war:exploded 构建项目,然后使用 ANT 脚本将该目录复制到 JBoss。
当我现在运行应用程序并在代码中的任意位置设置断点时,Eclipse 会在 Debug模式下正确地停在该行。 但是当我对源文件进行更改并保存时,Eclipse 不会将此更改应用到 JBoss。 例如,当我将普通代码行添加到注释中时,调试器仍然会跳过该注释,就好像它是普通的 Java 代码一样。或者当我删除一行时,调试器似乎与文件不同步并开始跳过括号。
但我也没有收到任何“热代码替换错误”消息。在我看来,Eclipse 将更改应用于源文件,但并未将其应用于 JBoss。
是否有任何必须打开的特殊首选项才能使热代码替换工作?或者我在构建应用程序并将其部署到 JBoss 的过程中是否存在任何错误?
最佳答案
我没有使用 JBoss,但我有两个建议。
如果您使用启动配置在 eclipse 中运行您的应用程序
您的“项目”-“自动构建”标志是否启用? 如果不是,则代码不会被编译并在运行时被忽略。在远程模式下调试应用程序时,您不能更改代码,但可以更改参数值。 (我认为)
关于java - “热代码替换”不起作用——Eclipse 不会更改 JBoss 上的任何代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673554/