spring boot Jrebel实现完美热部署

笔者一开始使用Springloaded,发现配置多,比较难用。

后来发现用devtools可以更方便的解决这个问题:
如果需要的话参考我的另一篇博文:http://www.jianshu.com/p/14963f5fdaae

笔者也是经过一整天的尝试才发现这个解决方案,不敢私藏,遂分享给大家,欢迎大神指正!

完成热部署,总共需要两步。

第一步:生成可以在tomcat里运行的war包:

  • 如果使用的是gradle在build.gradle里添加:
configurations {   
     provided
}

引入依赖:

providedCompile("org.springframework.boot:spring-boot-starter-tomcat")
  • 如果使用的是maven
    引入依赖:
 
            org.springframework.boot
            spring-boot-starter-tomcat
            1.5.1.RELEASE
            provided

注意这里的 provided不能省略,具体原因请查看查这里。

不论是使用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文件夹下)。
    如图所示:
spring boot Jrebel实现完美热部署_第1张图片
Paste_Image.png
  • 如果使用maven则
    maven 点击maven projects面板下的Lifecycle-clean、Lifecycle-compile
    如图所示
spring boot Jrebel实现完美热部署_第2张图片
Paste_Image.png

第二步:用jrebel完成热部署

第一步非常重要,否则无法继续第二步。其实第一步完成后,配置jrebel热部署和在普通Spring 项目(不是Spring boot)部署步骤完全一致,不懂的话,google,baidu,很多资料。

spring boot Jrebel实现完美热部署_第3张图片
Paste_Image.png

点击右上角+选择Tomcat Server-Local

spring boot Jrebel实现完美热部署_第4张图片
Paste_Image.png

如下图,点击fix,选择exploded那个


spring boot Jrebel实现完美热部署_第5张图片
Paste_Image.png

如图可以将名称改为Tomcat,也可以自定义
然后在On ‘Update action’On frame deactivation下拉框都选择 Update classes and resources

spring boot Jrebel实现完美热部署_第6张图片
Paste_Image.png

至此已经完成了Spring boot的热部署:

下面来测试一下
点击下图按钮开始运行项目

spring boot Jrebel实现完美热部署_第7张图片
Paste_Image.png

修改后的效果,箭头指向为修改前与修改后的对比。

spring boot Jrebel实现完美热部署_第8张图片
Paste_Image.png
spring boot Jrebel实现完美热部署_第9张图片
Paste_Image.png

至此大功告成!终于可以睡上一觉了。晚安吧。
注意:
一般Jrebel有15天免费试用期,不过Jrebel对于个人是免费的,在Google上搜索myJrebel然后注册就会送个人免费注册码,
传送带:https://my.jrebel.com/

参考:

使用Spring Boot Gradle 打war包的一点心得体会

使用devtools实现Spring boot热部署

你可能感兴趣的:(spring boot Jrebel实现完美热部署)