問題:
一般情況下,可以打成Jar包的項目,它的源碼運行Application項目時,是可以直接調試的。但是對於有些項目(比如spring-shell),在win10系統的IDEA中,運行為Application項目,並不能進行調試。在Linux、Mac中並沒有這個錯誤,估計這是由系統內部的差別導致的吧。
此時需要將這個項目打成Jar包(如果是maven項目,直接使用package命令),然后再使用IDEA調試Jar包,方法如下:
步驟:
1、通過以下命令啟動 jar文件:(端口5005可以修改)
shell
java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [你
的 jar 文件]

這一步需要打開Terminal這個窗口,可以使用快捷鍵(Alt +F12)這里可以直接執行命令,如下:

2、創建一個"Remote" 執行配置:




3、保留 默認配置點擊 "Apply" 和 "Ok"


4、因為你的Jar文件已經在執行了, 所以可以直接開始 debug:




如果出現以下錯誤,那是因為第一步沒有執行jar包

Unable to open debgger port(localhost:5005):java.net.ConnectException"Connection refused:connect"

后記:
這個方法也可以用來調試部署到遠程服務器的Jar包,比如SpringBoot生成的Jar包,挺有用的
原創文章,歡迎轉載,轉載請注明出處!