筆者一開始使用Springloaded,發(fā)現(xiàn)配置多菱肖,比較難用褒繁。
后來發(fā)現(xiàn)用devtools可以更方便的解決這個問題:
如果需要的話參考我的另一篇博文:http://www.reibang.com/p/14963f5fdaae
筆者也是經(jīng)過一整天的嘗試才發(fā)現(xiàn)這個解決方案测暗,不敢私藏,遂分享給大家霹菊,歡迎大神指正!
完成熱部署,總共需要兩步豪治。
第一步:生成可以在tomcat里運(yùn)行的war包:
- 如果使用的是gradle在build.gradle里添加:
configurations {
provided
}
引入依賴:
providedCompile("org.springframework.boot:spring-boot-starter-tomcat")
- 如果使用的是maven
引入依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>1.5.1.RELEASE</version>
<scope>provided</scope>
</dependency>
注意這里的 <scope>provided</scope>不能省略,具體原因請查看查這里扣甲。
不論是使用maven,還是gradle
Application.java修改如下:
@SpringBootApplication
@ComponentScan(basePackages = "me.ice")
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 如果使用gradle則:
點(diǎn)擊gradle projects面板下的Tasks-build-clean险耀、Tasks-build-build
至此gradle生成了也可在tomcat里運(yùn)行的war包(默認(rèn)build/libs文件夾下)。
如圖所示:
- 如果使用maven則
maven 點(diǎn)擊maven projects面板下的Lifecycle-clean桥滨、Lifecycle-compile
如圖所示
第二步:用jrebel完成熱部署
第一步非常重要窝爪,否則無法繼續(xù)第二步弛车。其實(shí)第一步完成后,配置jrebel熱部署和在普通Spring 項(xiàng)目(不是Spring boot)部署步驟完全一致蒲每,不懂的話纷跛,google,baidu邀杏,很多資料贫奠。
點(diǎn)擊右上角+
選擇Tomcat Server-Local
如下圖,點(diǎn)擊fix望蜡,選擇exploded那個
如圖可以將名稱改為Tomcat唤崭,也可以自定義
然后在On ‘Update action’
和On frame deactivation
下拉框都選擇 Update classes and resources
至此已經(jīng)完成了Spring boot的熱部署:
下面來測試一下
點(diǎn)擊下圖按鈕開始運(yùn)行項(xiàng)目
修改后的效果,箭頭指向?yàn)樾薷那芭c修改后的對比脖律。
至此大功告成谢肾!終于可以睡上一覺了。晚安吧小泉。
注意:
一般Jrebel有15天免費(fèi)試用期芦疏,不過Jrebel對于個人是免費(fèi)的,在Google上搜索myJrebel然后注冊就會送個人免費(fèi)注冊碼微姊,
傳送帶:https://my.jrebel.com/