我負責爲各種情況下System.exit(1)所需的實用程序應用程序設置一些JUnit測試,並且System Rules非常適合測試。該應用程序也可以在GUI模式下運行,並彈出一個小的JFrame。當它在應用ExpectedSystemExit規則的JUnit測試環境中運行時,隨着JFrame的構建,一些祕密地退出jvm。關閉ExpectedSystemExit規則,然後測試運行,彈出JFrame就好了,只是我不能再測試jvm exit()。使用系統規則攔截System.exit()失敗,出現Swing窗口
一個猜測是SecurityManager系統規則1.9.0放置就是不允許某些權限。我仍在收集更多調試信息。在那之前,有沒有已知的解決方案這個問題?
您是否在調用'setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)'?它調用SystemManager解釋爲'exit()'的'SecurityManager.checkExit'。 –
@Banthar確實,進一步的調試顯示'setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)'觸發exit()。那麼現在怎麼辦? –