我正在調試通過Arquillian部署在JBoss 7 AS上的代碼的JUnit測試。 調試器停止在斷點處,但執行舊版本的代碼(例如,它通過空行),同時在屏幕上看到新版本。Eclipse調試器沒有看到代碼中的更改
我找到了this question:我刪除了舊的遠程調試配置並創建了一個新的,刪除了默認的源代碼並附加了新的(Source --> Add --> Java Project
,並選擇了我的項目)。這並沒有解決我的問題。
This answer建議清理項目。我的項目由maven管理,所以我從控制檯運行mvn clean install
。這沒有幫助。
由於JBoss由Arquillian啓動,如果我打開了自動發佈(Window --> Preferences --> Server --> Launching
),但我認爲它不重要,但無論如何它都會打開。
我現在經常遇到這個問題,在看似隨機的時刻 - 我一遍又一遍地運行相同的(工作)遠程調試配置,突然間我遇到了這個問題,即使我沒有改變源代碼在調試配置中。
這個問題的原因是什麼?解決問題的最快方法是什麼?
你是什麼意思的舊版本的代碼?從你期待的新版本開始,你是在eclipse中還是從Eclipse之外更改代碼? 您可以嘗試插入任何空格/ new_line並再次保存代碼。它會在調試模式下在服務器上部署新版本。 – Neeraj
@Neeraj,我只在Eclipse中編輯了我的代碼。插入新行並保存文件後,該更改未在服務器上部署。新的代碼行不被執行。 –
我希望「自動構建」選項爲ON。如果你從命令行構建項目,那麼它不會反映eclipse中的變化。從命令構建項目與eclipse中的構建項目完全不同。 我的建議是在eclipse中建立項目,如果你希望你的改變應該在調試模式下發布在服務器上。 – Neeraj