Spring Boot Debug調(diào)試過(guò)程圖解
這篇文章主要介紹了Spring Boot Debug調(diào)試過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
最近發(fā)現(xiàn) Spring Boot 本地不能 Debug 調(diào)試了,原來(lái) Spring Boot 升級(jí)后,對(duì)應(yīng)插件的命令參數(shù)都變了,故本文做一個(gè)升級(jí)。
背景:
Spring Boot 項(xiàng)目在使用 Spring Boot Maven 插件執(zhí)行啟動(dòng)命令 spring-boot:run 的時(shí)候,如果設(shè)置的斷點(diǎn)進(jìn)不去,要進(jìn)行以下的設(shè)置。
官方解決方案:
By default, the run goal runs your application in a forked process. If you need to debug it, you should add the necessary JVM arguments to enable remote debugging. The following configuration suspend the process until a debugger has joined on port 5005:
直接看怎么做吧!
1、添加 JVM 參數(shù)
在插件 spring-boot-maven-plugin 里面加上 jvmArguments 配置。
<project> ... <build> ... <plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.2.0.RELEASE</version> <configuration> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 </jvmArguments> </configuration> ... </plugin> ... </plugins> ... </build> ... </project>
或者在命令行指定:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
最新配置可以參考官方說(shuō)明:
https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
2、添加一個(gè)Remote
在開(kāi)發(fā)工具里面新增一個(gè) Remote 配置:
只需要確定 Host、Port 參數(shù)即可。
Host:地址
localhost:本地啟動(dòng)地址;
Port:端口
5005:上面命令行指定的端口;
3、開(kāi)始調(diào)試
先啟動(dòng)加了 jvmArguments 參數(shù)的 Spring Boot 項(xiàng)目:
程序停在監(jiān)聽(tīng)端口:5005,再 debug 啟動(dòng)Remote:
再回到項(xiàng)目,開(kāi)始啟動(dòng)輸出日志,然后就可以進(jìn)行斷點(diǎn)調(diào)試了。
這就是遠(yuǎn)程調(diào)試了,也能幫你 debug 遠(yuǎn)程 Spring Boot 應(yīng)用,但在本地調(diào)試要操作兩次,略顯麻煩。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)求二叉樹(shù)的深度和寬度
這篇文章主要介紹了Java實(shí)現(xiàn)求二叉樹(shù)的深度和寬度,本文分別給出代碼實(shí)例,需要的朋友可以參考下2015-06-06Java實(shí)現(xiàn)的動(dòng)態(tài)數(shù)字時(shí)鐘功能示例【顯示世界時(shí)間】
這篇文章主要介紹了Java實(shí)現(xiàn)的動(dòng)態(tài)數(shù)字時(shí)鐘功能,結(jié)合實(shí)例形式分析了java顯示北京、紐約、倫敦等世界時(shí)間的相關(guān)日期時(shí)間運(yùn)算操作技巧,需要的朋友可以參考下2019-03-03SpringBoot參數(shù)驗(yàn)證的幾種方式小結(jié)
在日常的接口開(kāi)發(fā)中,為了防止非法參數(shù)對(duì)業(yè)務(wù)造成影響,經(jīng)常需要對(duì)接口的參數(shù)進(jìn)行校驗(yàn),例如登錄的時(shí)候需要校驗(yàn)用戶名和密碼是否為空,所以本文介紹了SpringBoot參數(shù)驗(yàn)證的幾種方式,需要的朋友可以參考下2024-07-07解決springboot自定義注解AOP在controller上導(dǎo)致controller注入失敗問(wèn)題
這篇文章主要介紹了解決springboot自定義注解AOP在controller上導(dǎo)致controller注入失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10SpringBoot2 整合Ehcache組件,輕量級(jí)緩存管理的原理解析
這篇文章主要介紹了SpringBoot2 整合Ehcache組件,輕量級(jí)緩存管理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08maven將項(xiàng)目打包上傳到nexus私服的詳細(xì)教程
這篇文章主要介紹了maven將項(xiàng)目打包上傳到nexus私服,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-07-07SpringBoot修改子模塊Module的jdk版本的方法 附修改原因
這篇文章主要介紹了SpringBoot修改子模塊Module的jdk版本的方法 附修改原因,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04java通過(guò)客戶端訪問(wèn)服務(wù)器webservice的方法
這篇文章主要介紹了java通過(guò)客戶端訪問(wèn)服務(wù)器webservice的方法,涉及java創(chuàng)建與調(diào)用webservice的相關(guān)技巧,需要的朋友可以參考下2016-08-08淺談mybatis中SQL語(yǔ)句給boolean類(lèi)型賦值問(wèn)題
這篇文章主要介紹了淺談mybatis中SQL語(yǔ)句給boolean類(lèi)型賦值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11