我目前正在遇到“热代码替换”的问题,不在Eclipse Galileo和JBOSS 4.2.3上工作。

在其他应用程序中,我在当地的JBOSS上进行了一场爆炸的Java战争。 Maven管理其构建的项目。我使用Maven Goal War构建项目:爆炸,然后用ANT脚本将该目录复制到JBOSS。

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

但是我也没有得到任何“替换错误”错误。在我看来,Eclipse将更改应用于源文件,但不将其应用于JBOSS。

为了使热代码替换工作,是否必须打开任何特殊偏好?还是我如何构建和部署应用程序到JBOSS有任何错误?

有帮助吗?

解决方案

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

  1. 如果您使用启动配置在Eclipse中运行应用程序

    您的“项目” - “自动构建”标志启用了?如果没有,则不会编译代码并忽略T运行时。

  2. 当您以远程模式调试应用程序时,您无法更改代码,但是可以更改参数的值。 (我认为)

其他提示

我在一个与Maven和Eclipse的项目中遇到了问题。没有显示错误,但是更换热代码不起作用。我读到必须检查“自动构建”。我检查了一下,它仍然没有用。我在构建路径中的其他项目中遇到了一些错误。我相信那是错误。当我研究时,我发现我们必须取消选中“构建路径错误时流产的构建”。我在下面的链接中给出了详细信息。

首先检查是自动的项目/构建。

也可能需要检查 应用服务器部署 配置,

例如,对于JBOSS,在Eclipse中,在服务器视图中,双击服务器,并且有一个部署扫描仪部分,其中有两个复选框:

  • 添加缺少的部署扫描仪
  • 关闭之前删除添加的部署扫描仪

https://docs.jboss.org/author/display/as7/deployment+Scanner+Configuration JBOSS AS/部署扫描仪配置

我最近刚刚在Eclipse 2019-06中遇到了这个问题,发现我必须取消选中“替换包含汇编错误的classfiles”的选项。 首选项 - > java->调试- >热代码替换组。所有其他选项都检查了。在这样做之前,我得到了 “热代码替换失败 - 未实现的删除方法” 尽管我唯一更改是ass a system.out.println呼叫。一旦我更改了该选项(在同一调试会话中),它就开始为我工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top