美文网首页Web前端之路工具癖程序员
IDEA2016 + tomcat 设置热部署

IDEA2016 + tomcat 设置热部署

作者: 夜_雪 | 来源:发表于2017-03-01 23:53 被阅读1838次
IntelliJ Idea

之前一直是使用 Eclipse+Jetty 开发的,然而在一次OSX系统更新之后,eclipse居然由于版本过低打不开了(各种震惊、悲伤与无奈)。。。。于是一怒之下换成了IDEA+Tomcat。
下面就来讲一下如何用Idea+Tomcat实现热部署。

热部署好处

什么是热部署呢?举例来说,就是如果你启动了一个应用,但是突然改写了一个文件,如果要使这个改动生效,我们通常需要重新启动这个应用,然而这个启动过程可能会花费很长时间。
那有没有其他办法可以既使改动生效,又不至于去浪费时间重启应用呢?有!那就是热部署。热部署可以在你改动文件之后,系统自动或人工手动触发重新加载class的机制,从而实现不需要启动整个应用,却能使改动生效的效果。

热部署配置

  1. 本文默认你的IDEA已经安装了Tomcat,没有安装的请先去安装,安装方法略;
  2. 打开Edit Configurations;


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


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


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


  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或者切换到其他应用后自动进行热部署
  1. 保存;
  2. 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;
    }
}
  1. 对接口发起一个请求,查看Output;


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

@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;
    }
}
  1. 注意了!这里需要点击一下Update;


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


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


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


至此,大功告成!

相关文章

  • IDEA2016 + tomcat 设置热部署

    之前一直是使用 Eclipse+Jetty 开发的,然而在一次OSX系统更新之后,eclipse居然由于版本过低打...

  • IDEA设置Tomcat热部署

    除了把Run/Debug Configurations里Tomcat的 On 'Update' action 和 ...

  • idea中设置Tomcat热部署

    什么是热部署所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就...

  • JavaEE01

    一、Eclipse的Tomcat部署 1.1找到servers,设置tomcat的根路径、JRE版本、设置tomc...

  • 死磕Tomcat系列(6)——Tomcat如何做到热加载和热部署

    死磕Tomcat系列(6)——Tomcat如何做到热加载和热部署的 热部署就是在服务器运行时重新部署项目,热加载即...

  • Tomcat热部署

    1、Tomcat的配置 我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作...

  • tomcat热部署

    1. 修改 tomcat 配置文件 文件路径:apache-tomcat-8.5.31\conf\tomcat-u...

  • Tomcat热部署

    你是不是经常这么想, 假如有一天我能写服务端程序, 我就能自己做出balabalabala . 最近在学习Java...

  • Tomcat热部署

    解决的问题 只更新一个或多个class,不更新整个war包。更新时不重启项目。测试 Tomcat8.x 版本可用。...

  • tomcat-1

    tomcat-1 tomcat 热部署和热加载 热部署和热加载可以在运行过程中不重启系统升级WEB应用。 热加载 ...

网友评论

    本文标题:IDEA2016 + tomcat 设置热部署

    本文链接:https://www.haomeiwen.com/subject/ndofgttx.html