IntelliJ IDEA 2016 + Tomcat 设置热部署

IntelliJ IDEA 2016 + Tomcat 设置热部署

之前一直是使用 Eclipse+Jetty 开发的,然而在一次OSX系统更新之后,eclipse居然由于版本过低打不开了。于是一怒之下换成了IDEA+Tomcat。

下面就来讲一下如何用IntelliJ IDEA 2016+Tomcat实现热部署。

热部署好处

什么是热部署呢?举例来说,就是如果你启动了一个应用,但是突然改写了一个文件,如果要使这个改动生效,我们通常需要重新启动这个应用,然而这个启动过程可能会花费很长时间。

那有没有其他办法可以既使改动生效,又不至于去浪费时间重启应用呢?有!那就是热部署。热部署可以在你改动文件之后,系统自动或人工手动触发重新加载class的机制,从而实现不需要启动整个应用,却能使改动生效的效果。

热部署配置

1.本文默认你的IDEA已经安装了Tomcat,没有安装的请先去安装,安装方法见本文最后;

2.打开Edit Configurations;

IntelliJ IDEA 2016 + Tomcat 设置热部署

3.选择已有的server或者点击左上角新建一个server;

IntelliJ IDEA 2016 + Tomcat 设置热部署

4.选择Deployment,点击左下角的+号,选择Artifact,然后选择你对应的项目;

IntelliJ IDEA 2016 + Tomcat 设置热部署

5.选好后是下面这个样子,右侧可以编辑你的项目路径;

IntelliJ IDEA 2016 + Tomcat 设置热部署

6.选择Server,主要有以下几点需要注意:

VM options: 如果你的tomcat打印出来的日志乱码,那么把这项设置为-Dfile.encoding=UTF-8

On 'Update' action: 执行Update时的操作,为了实现热部署,这项一定要选择Update classes and resource

On frame deactivation: 这项根据我的观察,如果选择Update classes and resource,会在你最小化Idea或者切换到其他应用后自动进行热部署

IntelliJ IDEA 2016 + Tomcat 设置热部署

7.保存;

8.debug启动。(注意一定要debug启动!)

测试

1.写一个简单的接口;

@Controller
@RequestMapping("/inter/mytest")
public class TestJsonController {
    @RequestMapping(value = "test", method = RequestMethod.POST)
    @ResponseBody
    public String phoneChange(@RequestBody String param){
        System.out.println("参数: "+param);
        System.out.println("初始");
        return param;
    }
}2.

对接口发起一个请求,查看Output;

IntelliJ IDEA 2016 + Tomcat 设置热部署

3.接下来我们修改一下代码;

@Controller
@RequestMapping("/inter/mytest")
public class TestJsonController {
    @RequestMapping(value = "test", method = RequestMethod.POST)
    @ResponseBody
    public String phoneChange(@RequestBody String param){
        System.out.println("参数: "+param);
        System.out.println("改变");//将 ‘初始’ 改成 ‘改变’
        return param;
    }
}

4.

注意了!这里需要点击一下Update;

IntelliJ IDEA 2016 + Tomcat 设置热部署

5.选择第二项,然后点OK;

IntelliJ IDEA 2016 + Tomcat 设置热部署

6.然后左下角会提示 "1 class reloaded" ,证明你的修改已经成效了;

IntelliJ IDEA 2016 + Tomcat 设置热部署

7.再次发起请求测试,后发现输出已经变了。

IntelliJ IDEA 2016 + Tomcat 设置热部署

至此,大功告成!

更多IntelliJ IDEA相关教程见以下内容

使用IntelliJ IDEA 13搭建Android集成开发环境图文教程

IntelliJ IDEA 12 创建Web项目图文详细教程

用IntelliJ IDEA开发Android程序图文教程

IntelliJ IDEA 12开发haXe NME应用配置指南

IntelliJ IDEA运行Play Framework的test mode

Ubuntu 13.04 安装IntelliJ IDEA 12

IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)

IntelliJ IDEA 常用快捷键列表及技巧大全   

在 Ubuntu Linux 上安装 IntelliJ IDEA 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c8c37eca941061e3c161ad8d9ce15404.html