一文講解如何優(yōu)雅的調(diào)試jar包
問(wèn)題:
一般情況下,可以打成Jar包的項(xiàng)目,它的源碼運(yùn)行Application項(xiàng)目時(shí),是可以直接調(diào)試源碼的。但是實(shí)際項(xiàng)目在測(cè)試環(huán)境運(yùn)行時(shí)是以jar的形勢(shì)運(yùn)行,碰到測(cè)試環(huán)境出問(wèn)題,本地運(yùn)行OK的這種情況,有兩種case:1、遠(yuǎn)程在線調(diào)試,2、把jar下載下來(lái),本地調(diào)試jar包
現(xiàn)已本地調(diào)試jar為例:
步驟:
1、通過(guò)以下命令啟動(dòng) jar文件:(端口5005可以修改)
shell
java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [你的 jar 文件]
這一步需要打開(kāi)Terminal這個(gè)窗口,可以使用快捷鍵(Alt +F12)這里可以直接執(zhí)行命令,如下:
2、創(chuàng)建一個(gè)"Remote" 執(zhí)行配置:
3、保留 默認(rèn)配置點(diǎn)擊 "Apply" 和 "Ok"
4、因?yàn)槟愕腏ar文件已經(jīng)在執(zhí)行了, 所以可以直接開(kāi)始 debug:
關(guān)鍵點(diǎn):IDEA源碼必須與待調(diào)試jar包保持一致,切記?。?!不然進(jìn)不了debug模式?。。。?/h3>
如果出現(xiàn)以下錯(cuò)誤,那是因?yàn)榈谝徊經(jīng)]有執(zhí)行jar包
Unable to open debgger port(localhost:5005):java.net.ConnectException"Connection refused:connect"
后記:
這個(gè)方法也可以用來(lái)調(diào)試部署到遠(yuǎn)程服務(wù)器的Jar包,操作同上,要求線上服務(wù)器以下方式進(jìn)行啟動(dòng)
java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [你的 jar 文件]
不過(guò),一般正式的公司對(duì)發(fā)布有著嚴(yán)格的規(guī)范,一般不允許在線去debug代碼,容易影響線上用戶。
到此這篇關(guān)于優(yōu)雅的調(diào)試jar包的文章就介紹到這了,更多相關(guān)優(yōu)雅調(diào)試jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用springcloud+oauth2攜帶token去請(qǐng)求其他服務(wù)
這篇文章主要介紹了使用springcloud+oauth2攜帶token去請(qǐng)求其他服務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Java Chassis3注冊(cè)中心分區(qū)隔離技術(shù)解密
這篇文章主要為大家介紹了Java Chassis3注冊(cè)中心分區(qū)隔離技術(shù)解密,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Spring的BeanFactoryPostProcessor接口示例代碼詳解
這篇文章主要介紹了Spring的BeanFactoryPostProcessor接口,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Java將時(shí)間按月份分段的實(shí)現(xiàn)思路與方法
這篇文章主要給大家介紹了關(guān)于Java將時(shí)間按月份分段的實(shí)現(xiàn)思路與方法,通過(guò)文中介紹的方法可以將時(shí)間分成我們想要的時(shí)間段,文中給出了詳細(xì)的實(shí)例代碼,需要的朋友可以參考下2021-07-07Java 動(dòng)態(tài)編譯在項(xiàng)目中的實(shí)踐分享
在 Java 中,動(dòng)態(tài)編譯是指在運(yùn)行時(shí)動(dòng)態(tài)地編譯 Java 源代碼,生成字節(jié)碼,并加載到 JVM 中執(zhí)行,動(dòng)態(tài)編譯可以用于實(shí)現(xiàn)動(dòng)態(tài)代碼生成、動(dòng)態(tài)加載、插件化等功能,本文將給大家分享一下Java 動(dòng)態(tài)編譯在項(xiàng)目中的實(shí)踐,感興趣的同學(xué)跟著小編一起來(lái)看看吧2023-07-07Spring Boot集成Druid數(shù)據(jù)庫(kù)連接池
這篇文章主要介紹了Spring Boot集成Druid數(shù)據(jù)庫(kù)連接池,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04Java?POI導(dǎo)出Excel時(shí)合并單元格沒(méi)有邊框的問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于Java?POI導(dǎo)出Excel時(shí)合并單元格沒(méi)有邊框的問(wèn)題解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-07-07一篇文章帶你搞定SpringBoot中的熱部署devtools方法
這篇文章主要介紹了一篇文章帶你搞定SpringBoot中的熱部署devtools方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09