笔者一开始使用Springloaded,发现配置多,比较难用。
后来发现用devtools可以更方便的解决这个问题:
如果需要的话参考我的另一篇博文:http://www.jianshu.com/p/14963f5fdaae
笔者也是经过一整天的尝试才发现这个解决方案,不敢私藏,遂分享给大家,欢迎大神指正!
完成热部署,总共需要两步。
第一步:生成可以在tomcat里运行的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则:
点击gradle projects面板下的Tasks-build-clean、Tasks-build-build
至此gradle生成了也可在tomcat里运行的war包(默认build/libs文件夹下)。
如图所示:
![](https://img.haomeiwen.com/i2027280/ef9a594f4ef139bd.png)
- 如果使用maven则
maven 点击maven projects面板下的Lifecycle-clean、Lifecycle-compile
如图所示
![](https://img.haomeiwen.com/i2027280/3889b2d67061685f.png)
第二步:用jrebel完成热部署
第一步非常重要,否则无法继续第二步。其实第一步完成后,配置jrebel热部署和在普通Spring 项目(不是Spring boot)部署步骤完全一致,不懂的话,google,baidu,很多资料。
![](https://img.haomeiwen.com/i2027280/4b340c70fc777169.png)
点击右上角+
选择Tomcat Server-Local
![](https://img.haomeiwen.com/i2027280/a63a29f22e08bd5e.png)
如下图,点击fix,选择exploded那个
![](https://img.haomeiwen.com/i2027280/13bbb306e8ac1824.png)
如图可以将名称改为Tomcat,也可以自定义
然后在On ‘Update action’
和On frame deactivation
下拉框都选择 Update classes and resources
![](https://img.haomeiwen.com/i2027280/a3892749f45fd067.png)
至此已经完成了Spring boot的热部署:
下面来测试一下
点击下图按钮开始运行项目
![](https://img.haomeiwen.com/i2027280/6090cfc34d1dce0e.png)
修改后的效果,箭头指向为修改前与修改后的对比。
![](https://img.haomeiwen.com/i2027280/e7e1cfc21003d62d.png)
![](https://img.haomeiwen.com/i2027280/5c5ef0963e66fb0c.png)
至此大功告成!终于可以睡上一觉了。晚安吧。
注意:
一般Jrebel有15天免费试用期,不过Jrebel对于个人是免费的,在Google上搜索myJrebel然后注册就会送个人免费注册码,
传送带:https://my.jrebel.com/
网友评论