我目前在 Eclipse Galileo 和 JBoss 4.2.3 上遇到“热代码替换”问题。
在其他应用程序中,我在本地 JBoss 上运行了一个扩展的 Java WAR。构建它的项目由 Maven 管理。我使用 Maven 目标 war:exploded 构建项目,然后使用 ANT 脚本将该目录复制到 JBoss。
当我现在运行应用程序并在代码中的任何位置设置断点时,Eclipse 会在调试模式下正确地停止在该行。但是当我对源文件进行更改并保存它时,Eclipse 不会将此更改应用于 JBoss。例如,当我将普通代码行添加到注释中时,调试器仍然会跳过该注释,就好像它是普通 Java 代码一样。或者当我删除一行时,调试器似乎与文件不同步并开始越过括号。
但我也没有收到任何“热代码替换错误”消息。在我看来,Eclipse 将更改应用于源文件,但没有将其应用于 JBoss。
为了使热代码替换起作用,是否必须打开任何特殊首选项?或者我如何构建应用程序并将其部署到 JBoss 是否有任何错误?