Idea啟動多個SpringBoot項(xiàng)目的3種最新方案
悟纖:師傅,你最近是哪去了,這上班都快1個月了,都沒見你蹤影,你這是上哪里去放縱去了嗎?
師傅:徒兒,你說的這是啥話,是放松,不是放縱,為師嚴(yán)重懷疑你的語文是xxx教的。
悟纖:那師傅你倒是說,你干嘛去了。
師傅:為師也是有苦說不去呀,最近剛剛接手了一個爛攤子,團(tuán)隊(duì)各種問題、架構(gòu)各種問題,忙的不可開交吶。
悟纖:我說師傅最近怎么這么忙,還以為你不搭理我了。
師傅:徒兒這么可愛,怎么會不搭理你吶。雖然為師最近歷經(jīng)滄桑,但是不得不說為師也是學(xué)習(xí)到了很多,成長了很多。所以當(dāng)你能夠直面問題和困難的時候,你注定會成長。保持不斷的成長,無懼困難和挑戰(zhàn)。
悟纖:還得是師傅。剛好有個問題想請教下師傅,我想在Idea啟動多個SpringBoot項(xiàng)目,除了傻傻的修改配置文件這種方式,還有其它比較友好的方式嗎。
師傅:師傅,那是當(dāng)然了,為師這就來跟你說幾種方案。
悟纖:我已經(jīng)迫不及待的想學(xué)習(xí)了~
導(dǎo)讀
有時同一個服務(wù)要啟動多份測試負(fù)載均衡,那我們不能傻傻的去復(fù)制多份吧,對于這個問題,有很多種方案,在這里通過深入淺出的講解方式,希望打開大家的思考問題的思維方式。
一、準(zhǔn)備工作
使用Idea構(gòu)建一個hello world的Spring Boot項(xiàng)目。
開發(fā)環(huán)境說明:
(1)Spring Boot 2.7.0
(2)Idea:IntelliJ IDEA 2022.2.2
(3)OS:Mac OS
環(huán)境不太一樣,有些操作是有些微區(qū)別的,但是整體的思路是一樣的。
二、啟動多個SpringBoot
2.1 方案一:修改配置文件的端口
在Spring Boot項(xiàng)目中,端口號可以在配置文件進(jìn)行配置,所以最簡單可以想到的方案是修改配置文件application.(properties/yml)的端口配置server.port,具體操作:
(1)先配置server.port = 8080,運(yùn)行啟動類啟動應(yīng)用。
(2)再修改server.port = 8081,運(yùn)行啟動類啟動應(yīng)用。
這樣就啟動了兩個不同端口的Spring Boot應(yīng)用。這種方式簡單,但是卻操作不友好,每次修改配置文件,實(shí)際項(xiàng)目中肯定不會這么玩了。
2.2 方案二:Idea工具的Edit Configurations
利用Idea提供的Edit Configurations配置應(yīng)用參數(shù)。
點(diǎn)擊Modify Options進(jìn)行添加應(yīng)用參數(shù):
開發(fā)工具的版本不同,這個界面可能稍微有些區(qū)別,但都能找到Program arguments:
說明:
(1)VM options:VM options其實(shí)就是我們在程序中需要的運(yùn)行時環(huán)境變量,它需要以-D或-X或-XX開頭,每個參數(shù)使用空格分隔eg: -Dspring.profiles.active=dev
(2)Program arguments:Program arguments為我們傳入main方法的字符串?dāng)?shù)組args[],它通常以--開頭,如--spring.profiles.active=dev; 其等價于-Dspring.profiles.active=dev,如果同時存在,以Program arguments配置優(yōu)先
然后添加一個--server.port=8081配置:
2.3 方案三:使用RunDashboard
IDEA提供了強(qiáng)大Dashboard功能(運(yùn)行儀表盤), 可以很好的將上面的多應(yīng)用啟動實(shí)例進(jìn)行管理,使我們配置的項(xiàng)目可視化,方便spring boot項(xiàng)目重新配置、Run、Debug,簡化了我們的操作步驟。
在.idea/workspace.xml文件里添加如下配置:
<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType" /> </set> </option> </component>
到此再次啟動后在底部就可以看到Run Dashboard
在這里可以復(fù)制一份配置出來:
這樣,就可以啟動多個了:
三、同一個端口的兩個Spring Boot啟動
SpringBoot自帶Tomcat,直接運(yùn)行main方法里面的SpringApplication.run即可,并且訪問時不需要帶項(xiàng)目名。
如果idea里面有兩個SpringBoot項(xiàng)目并且controller層的訪問路徑一樣,并且由于沒有路徑名,不能同時跑兩個main方法,若同時跑兩個main方法肯定端口號被占用。那如何同時啟動兩個項(xiàng)目。
只需要打包成war包,放入Tomcat中而不是SpringBoot自帶的Tomcat中即可。那么訪問就需要:localhost:8080/項(xiàng)目名/路徑 即可解決。在開發(fā)工具中的也可以使用外部Tomcat進(jìn)行啟動。
到此這篇關(guān)于Idea啟動多個SpringBoot項(xiàng)目的3種方案的文章就介紹到這了,更多相關(guān)Idea啟動多個SpringBoot項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java排序之冒泡排序的實(shí)現(xiàn)與優(yōu)化
冒泡排序是一種簡單的交換排序。之所以叫做冒泡排序,因?yàn)槲覀兛梢园衙總€元素當(dāng)成一個小氣泡,根據(jù)氣泡大小,一步一步移動到隊(duì)伍的一端,最后形成一定對的順序。本文將利用Java實(shí)現(xiàn)冒泡排序,并進(jìn)行一定的優(yōu)化,希望對大家有所幫助2022-11-11Mybatis逆向工程實(shí)現(xiàn)連接MySQL數(shù)據(jù)庫
本文主要介紹了Mybatis逆向工程實(shí)現(xiàn)連接MySQL數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Java實(shí)現(xiàn)數(shù)組翻轉(zhuǎn)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java實(shí)現(xiàn)數(shù)組翻轉(zhuǎn)的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09關(guān)于Springboot打成JAR包后讀取外部配置文件的問題
這篇文章主要介紹了關(guān)于Springboot打成JAR包后讀取外部配置文件的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11解決IDEA開發(fā)工具右側(cè)沒有Maven工具欄的問題
這篇文章主要給大家解決了IDEA開發(fā)工具右側(cè)沒有Maven工具欄的問題,文中有詳細(xì)的解決步驟,如果有遇到一樣問題的小伙伴,可以參考閱讀本文2023-09-09微信公眾帳號開發(fā)-自定義菜單的創(chuàng)建及菜單事件響應(yīng)的實(shí)例
本篇文章主要介紹了微信公眾帳號開發(fā)-自定義菜單的創(chuàng)建及菜單事件響應(yīng)的實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12