調(diào)試熱部署和遠(yuǎn)程熱部署

什么是熱部署:服務(wù)器正在運(yùn)行漾脂,無須重啟服務(wù)器,就可以加載更改的代碼歹啼。

一、4類本地調(diào)試熱部署與實(shí)現(xiàn)步驟


第1種:修改服務(wù)器配置座菠,使得IDEA窗口失去焦點(diǎn)時(shí)狸眼,更新類和資源

菜單Run -> EditConfiguration , 然后配置指定服務(wù)器下,右側(cè)server標(biāo)簽下on frame deactivation = Update classes and resource浴滴。

優(yōu)點(diǎn):簡(jiǎn)單

缺點(diǎn):基于JVM提供的熱加載僅支持方法塊內(nèi)代碼修改拓萌,只有debug模式下,并且是在idea失去焦點(diǎn)時(shí)才會(huì)出發(fā)熱加載升略,相對(duì)加載速度緩慢

第2種:使用springloaded jar包

a. 下載jar包微王,github:https://github.com/spring-projects/spring-loaded

b. 啟動(dòng)應(yīng)用時(shí)添加VM啟動(dòng)參數(shù):-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify

優(yōu)點(diǎn):對(duì)Spring系列框架支持好(不含Spring boot), 支持 成員級(jí)別的修改(增刪改方法、字段品嚣、注解)炕倘,支持對(duì)枚舉值集。

缺點(diǎn):與優(yōu)點(diǎn)相對(duì)

第3種:使用spring-boot-devtools提供的開發(fā)者工具

spring-boot項(xiàng)目中引入如下依賴

org.springframework.bootspring-boot-devtools

優(yōu)點(diǎn):簡(jiǎn)單翰撑,支持Spring-boot項(xiàng)目罩旋,支持成員級(jí)別的修改熱部署。

缺點(diǎn):只支持spring-boot項(xiàng)目。

第4種:使用Jrebel插件實(shí)現(xiàn)熱部署(該插件14天免費(fèi)試用)

在線安裝:菜單File -> Setting -> Plugin, 點(diǎn)擊右側(cè)底部 Browse repositories, 彈出框頂部輸入:JReble for Intellij涨醋, 選中安裝即可瓜饥。

優(yōu)點(diǎn):強(qiáng)大,對(duì)各類框架支持浴骂,并且提供IDE插件的方式乓土。

總結(jié):最后3種方法是基于類加載機(jī)制來實(shí)現(xiàn)熱加載的,因此你修改完成代碼后必須重新編譯當(dāng)前代碼溯警,才能觸發(fā)熱部署趣苏,Eclipse默認(rèn)就支持了自動(dòng)編譯,而在Intellij IDEA中默認(rèn)是關(guān)閉了自動(dòng)編譯的愧膀,可以按照如下2步設(shè)置開啟:

IDEA開啟項(xiàng)目自動(dòng)編譯拦键,進(jìn)入設(shè)置,Build,Execut, Deployment -> Compiler 勾選中左側(cè)的Build Project automatically

如第上述步驟自動(dòng)編譯無效請(qǐng)嘗試下面檩淋,

IDEA開啟項(xiàng)目運(yùn)行時(shí)自動(dòng)make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running

本人用Jreble調(diào)試熱部署參考下面安裝流程:

下載插件可以用idea自帶插件安裝,如果idea下載失敗萄金,請(qǐng)嘗試去idea插件中心下載jetbrains插件下載中心

安裝步驟
服務(wù)器激活方案步驟 2018/9/9有效Jreble
內(nèi)網(wǎng)激活服務(wù)器搭建方案步驟 搬運(yùn)

本人本地自啟激活服務(wù)器搭建方案(Windows環(huán)境下)

  1. 需要文件下載 https://pan.baidu.com/s/1EVmNhTq_ZtNv_c6XKUD2pw 密碼:01ul
    image.png
  2. 下載完jar文件步驟:
1. bat文件放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp文件夾下自動(dòng)啟動(dòng)蟀悦,參考:https://jingyan.baidu.com/article/eae07827ad2bba1fec5485ae.html
2. 修改bat里面文件的路徑,修改JrebelBrainsLicenseServerforJava.jar你存放的位置氧敢,我的存放位置就是C:\Users\bsp-20180831\Desktop\jrebel本地監(jiān)聽\jrebelBinn\JrebelBrainsLicenseServerforJava.jar日戈,放在桌面了
3. 登錄http://localhost:9090/
4. 注:不要把JrebelBrainsLicenseServerforJava.jar放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp自啟文件目錄下,每次開啟java會(huì)報(bào)錯(cuò)孙乖,自己體會(huì) - -浙炼,
5. 缺點(diǎn): 
  1)就是開機(jī)會(huì)看到一閃cmd黑框
  2)本地9090端口沖突的話自己在下面下載源碼自行修改
  3)當(dāng)然你改成手動(dòng)也是可以的,直接java -jar JrebelBrainsLicenseServerforJava.jar
  4)有更好的方法的希望可以交流一下
  1. 成功標(biāo)志


    image.png
  2. 源碼出處:JrebelLicenseServerforJava,有想法的可以自己clone到本地進(jìn)行研究
  3. 經(jīng)濟(jì)允許還是請(qǐng)購買正版唯袄,要是SpringBoot開發(fā)弯屈,自帶的熱部署功能也是可以的

二、遠(yuǎn)程熱部署步驟


此熱部署是遠(yuǎn)程部署項(xiàng)目恋拷,不用在關(guān)閉或者重啟遠(yuǎn)程tomcat资厉,與本地調(diào)試熱部署區(qū)分,當(dāng)然強(qiáng)大的Jreble支持遠(yuǎn)程熱部署

這里我介紹Maven遠(yuǎn)程熱部署方案:

Tomcat有個(gè)后臺(tái)管理功能蔬顾,可以實(shí)現(xiàn)工程熱部署宴偿。

配置方法:

第一步:需要修改tomcat的conf/tomcat-users.xml配置文件。添加用戶名诀豁、密碼窄刘、權(quán)限。

<role rolename="manager-gui" /> //manager-gui 權(quán)限
<role rolename="manager-script" />//manager-script 權(quán)限
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>// manager-gui  manager-script 權(quán)限給這個(gè)創(chuàng)建的用戶

第二步:重新啟動(dòng)tomcat舷胜。

第三步:使用maven的tomcat插件實(shí)現(xiàn)熱部署:

<build>
        <plugins>
            <!-- 配置Tomcat插件 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8081</port>//遠(yuǎn)程這個(gè)無效
                    <path>/</path>//項(xiàng)目名稱
                    <url>http://192.168.25.135:8080/manager/text</url>//前面的ip和端口可以換
                    <username>tomcat</username>//用戶名
                    <password>tomcat</password>//密碼
                </configuration>        
            </plugin>
        </plugins>
    </build>

第四步:使用maven命令進(jìn)行部署娩践。
tomcat7:deploy//遠(yuǎn)程tomcat沒有要部署的項(xiàng)目
tomcat7:redeploy//遠(yuǎn)程tomcat有要部署的項(xiàng)目
部署的路徑是“/”會(huì)把系統(tǒng)部署到webapps/ROOT目錄下。
部署工程跳過測(cè)試:
clean tomcat7:redeploy -DskipTests

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市欺矫,隨后出現(xiàn)的幾起案子纱新,更是在濱河造成了極大的恐慌,老刑警劉巖穆趴,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脸爱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡未妹,警方通過查閱死者的電腦和手機(jī)簿废,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來络它,“玉大人族檬,你說我怎么就攤上這事』粒” “怎么了单料?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)点楼。 經(jīng)常有香客問我扫尖,道長(zhǎng),這世上最難降的妖魔是什么掠廓? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任换怖,我火速辦了婚禮,結(jié)果婚禮上蟀瞧,老公的妹妹穿的比我還像新娘沉颂。我一直安慰自己,他們只是感情好悦污,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布铸屉。 她就那樣靜靜地躺著,像睡著了一般塞关。 火紅的嫁衣襯著肌膚如雪抬探。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天帆赢,我揣著相機(jī)與錄音小压,去河邊找鬼。 笑死椰于,一個(gè)胖子當(dāng)著我的面吹牛怠益,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瘾婿,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蜻牢,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼烤咧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起抢呆,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤煮嫌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后抱虐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昌阿,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年恳邀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了懦冰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谣沸,死狀恐怖刷钢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乳附,我是刑警寧澤内地,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站许溅,受9級(jí)特大地震影響瓤鼻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贤重,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望清焕。 院中可真熱鬧并蝗,春花似錦、人聲如沸秸妥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粥惧。三九已至键畴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間突雪,已是汗流浹背起惕。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咏删,地道東北人惹想。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像督函,于是被迫代替她去往敵國和親嘀粱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子激挪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,859評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)锋叨,斷路器垄分,智...
    卡卡羅2017閱讀 134,704評(píng)論 18 139
  • 入門 介紹 Spring Boot Spring Boot 使您可以輕松地創(chuàng)建獨(dú)立的、生產(chǎn)級(jí)的基于 Spring ...
    Hsinwong閱讀 16,899評(píng)論 2 89
  • 此篇翻譯的是Spring Boot官方指南 Part III. 使用 Spring Boot (Using Spr...
    K天道酬勤閱讀 6,764評(píng)論 0 21
  • 第一次聽說你嘿般,是在小學(xué)四年級(jí)。你在一班涯冠,我在三班炉奴。 那年運(yùn)動(dòng)會(huì),我們班都在議論一班轉(zhuǎn)來一位新同學(xué)蛇更,跳高非常厲害...
    ssssssyyyyyylll閱讀 714評(píng)論 7 6