springboot在idea下debug調(diào)試熱部署問(wèn)題
spring mvc項(xiàng)目在eclipse中使用tomcat啟動(dòng)可以實(shí)現(xiàn)即改即現(xiàn),也就是修改了java代碼代碼之后不需要重新部署就可以看到運(yùn)行效果。
現(xiàn)在的開(kāi)發(fā)環(huán)境變成了spring boot和idea,也想實(shí)現(xiàn)相同的效果,于是展開(kāi)了研究,過(guò)程相對(duì)曲折和搞笑。
一、熱啟動(dòng)和熱部署的區(qū)別(僅代表個(gè)人看法)
1、熱啟動(dòng):修改代碼后,服務(wù)可自動(dòng)重啟,通過(guò)console可看出,這種做法并不好用!
2、熱部署:修改代碼后,服務(wù)不需要重啟,只替換相關(guān)的class即可生效。
很多博文中沒(méi)有搞清楚熱啟動(dòng)和熱部署的區(qū)別。
二、spring boot在idea中的熱啟動(dòng)
在pom文件中添加依賴,就可以實(shí)現(xiàn)熱啟動(dòng)了。
<dependency>?? ?? <groupId>org.springframework.boot</groupId>? ?? <artifactId>spring-boot-devtools</artifactId>?? ?? <optional>true</optional>?? </dependency>??
三、spring boot在idea中的熱部署
1、直接用application啟動(dòng)
在idea-edit configuartions-sring boot-EnterApplication-VM options中添加
javaagent:C:\Users\li_hongjing\.m2\repository\org\springframework\springloaded\1.2.7.RELEASE\springloaded-1.2.7.RELEASE.jar -noverify

但是這種做法時(shí)好用時(shí)不好用,而且debug模式會(huì)失效。
2、使用maven啟動(dòng)
添加spring-boot-maven-plugin,并添加springloaded的依賴,其中注意jvmArguments
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <!-- spring熱部署--> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.7.RELEASE</version> </dependency> </dependencies> <configuration> <executable>true</executable> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 </jvmArguments> </configuration> </plugin>
添加remote

環(huán)境準(zhǔn)備好后有兩種方式啟動(dòng):
- 一種是沒(méi)添加jvmArguments,直接使用spring-boot:run啟動(dòng),這種方式不支持debug。
- 一種添加了jvmArguments,先啟動(dòng)spring-boot:run,然后啟動(dòng)剛才添加的remote,這種是兩個(gè)服務(wù),一個(gè)正常的服務(wù),一個(gè)debug服務(wù),控制臺(tái)的輸出并不在一起,也是很難用。
綜上所述,這些添加依賴,添加插件的做法,通通不好用,以上都是廢話!
其實(shí),在idea中debug啟動(dòng)spring boot,如果修改了java代碼,只需要ctrl+shift+F9重新rebuild一下即可實(shí)現(xiàn)熱部署!??!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談springcloud gateway 連接?;顔?wèn)題
這篇文章主要介紹了springcloud gateway 連接?;顔?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot+React實(shí)現(xiàn)計(jì)算個(gè)人所得稅
本文將以個(gè)人所得稅的計(jì)算為例,使用React+SpringBoot+GcExcel來(lái)實(shí)現(xiàn)這一功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-09-09
Java向上轉(zhuǎn)型與向下轉(zhuǎn)型超詳細(xì)圖解
我們?cè)贘ava編程中經(jīng)常碰到類型轉(zhuǎn)換,對(duì)象類型轉(zhuǎn)換主要包括向上轉(zhuǎn)型和向下轉(zhuǎn)型,這篇文章主要介紹了Java向上轉(zhuǎn)型與向下轉(zhuǎn)型的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Java實(shí)現(xiàn)字符編碼轉(zhuǎn)換(utf-8/gbk)
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)字符編碼轉(zhuǎn)換工具,主要針對(duì)UTF-8和GBK兩種編碼格式,文中的示例代碼講解詳,需要的可以了解下2025-03-03
對(duì)Java的面對(duì)對(duì)象編程中對(duì)象和引用以及內(nèi)部類的理解
這篇文章主要介紹了對(duì)Java的面對(duì)對(duì)象編程中對(duì)象和引用以及內(nèi)部類的理解,需要的朋友可以參考下2016-01-01
SpringBoot項(xiàng)目導(dǎo)入aliyun oss starter依賴后啟動(dòng)報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了SpringBoot項(xiàng)目導(dǎo)入aliyun oss starter依賴后啟動(dòng)報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
RabbitMQ中Confirm消息確認(rèn)機(jī)制保障生產(chǎn)端消息的可靠性詳解
這篇文章主要介紹了RabbitMQ中Confirm消息確認(rèn)機(jī)制保障生產(chǎn)端消息的可靠性詳解,生產(chǎn)者將數(shù)據(jù)發(fā)送到 RabbitMQ 的時(shí)候,可能數(shù)據(jù)就在半路給搞丟了,因?yàn)榫W(wǎng)絡(luò)問(wèn)題啥的,都有可能,需要的朋友可以參考下2023-12-12
Maven中plugins與pluginManagement的區(qū)別說(shuō)明
這篇文章主要介紹了Maven中plugins與pluginManagement的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

