我正在通过Arquillian调试部署在JBoss 7 AS上的代码的JUnit测试。 调试器在断点处停止,但是当我在屏幕上看到新版本时,执行旧版本的代码(例如,它通过空行)。
我找到this question:我删除了旧的远程调试配置并创建了一个新配置,删除了默认源并附加了新的源(Source --> Add --> Java Project
,并选择了我的项目)。这并没有解决我的问题。
This answer建议清理项目。我的项目由maven管理,所以我从控制台运行mvn clean install
。这没有用。
由于JBoss是由Arquillian创建的,所以如果我打开了自动发布(Window --> Preferences --> Server --> Launching
),我认为这并不重要,但无论如何它都会打开。
我现在经常遇到这个问题,看似随意的时刻 - 我一遍又一遍地运行相同的(工作)远程调试配置突然我遇到了这个问题,即使我没有更改源代码调试配置。
这个问题的原因是什么?解决问题的最快方法是什么?
答案 0 :(得分:1)
问题是由JBoss从其配置文件中读取旧部署信息引起的。我使用以下操作强制重新部署:
JBOSS_HOME/standalone/configuration
standalone.arquillian.xml
JBOSS_HOME/standalone
中可以安全删除文件夹temp
,data
和logs
。见this answer。我仍然不确定是什么原因导致xml保留旧的部署信息,以及是否可以避免这种情况。