Eclipse调试器没有看到代码的变化

时间:2014-07-23 12:30:08

标签: java eclipse maven debugging jboss

我正在通过Arquillian调试部署在JBoss 7 AS上的代码的JUnit测试。 调试器在断点处停止,但是当我在屏幕上看到新版本时,执行旧版本的代码(例如,它通过空行)。

我找到this question:我删除了旧的远程调试配置并创建了一个新配置,删除了默认源并附加了新的源(Source --> Add --> Java Project,并选择了我的项目)。这并没有解决我的问题。

This answer建议清理项目。我的项目由maven管理,所以我从控制台运行mvn clean install。这没有用。

由于JBoss是由Arquillian创建的,所以如果我打开了自动发布(Window --> Preferences --> Server --> Launching),我认为这并不重要,但无论如何它都会打开。

我现在经常遇到这个问题,看似随意的时刻 - 我一遍又一遍地运行相同的(工作)远程调试配置突然我遇到了这个问题,即使我没有更改源代码调试配置。

这个问题的原因是什么?解决问题的最快方法是什么?

1 个答案:

答案 0 :(得分:1)

问题是由JBoss从其配置文件中读取旧部署信息引起的。我使用以下操作强制重新部署:

  1. 转到JBOSS_HOME/standalone/configuration
  2. 修改standalone.arquillian.xml
  3. 删除部署信息(靠近文件末尾)。见this answer
  4. (可选)从旧部署中删除数据 - 在JBOSS_HOME/standalone中可以安全删除文件夹tempdatalogs。见this answer
  5. 我仍然不确定是什么原因导致xml保留旧的部署信息,以及是否可以避免这种情况。