具體現象:
Debug模式下進行斷點調試,發現action文件的斷點可以起作用,impl實現層文件的斷點不起作用;仔細查看斷點符號

正常的斷點顯示的是一個對號和一個小圓點,不起作用的沒有對號;
網上解決方案:
1、設置了Skip All Breakpoints,設置后斷點符號會變成反斜杠和小圓點;這種原因不勾選這個選項即可;
2、找到window→preferences→Run/Debug→勾選Skepticalbreak points during a 'Run to Line' operation,勾選即可;
3、找到window→preferences→Java→Compiler→勾選Add line number attributes to generated clss files(used by the debugger),勾選即可;
原因是:工程編譯的時候沒有設置line number,導致調試的時候無法定位,關鍵是:這個line number設置是針對某個工程的,而不是整個平台的環境變量 ,所以才會出現有的工程行,有的工程不行的情況。
4、JVM上實際運行的代碼和設置斷點的代碼不是同一份;這個原因可以清理然后重新編譯一下,project→clean;
個人解決:
網上能找到的方案就這些啦,我最初非常確定是debug模式,在找了一圈方案沒有解決后,重新梳理了該問題,“斷點不起作用的代碼方法可以執行出結果,數據庫有體現,說明之前一直認為的原因4這種情況是不存在的,而且多次clean重生成class文件啦,然后再想之前添加的system.out.println()也沒有打印出來比較奇怪,通過切換服務器發現是在另一個服務器打印出來啦”,恍然大悟,原來是一共有兩個服務,實現層的代碼是在另一個服務中,而那個服務我並沒有debug模式運行。
