idea web项目动态部署

 最近通过idea新创建一个web项目,想让web项目的前后端代码都动态部署。虽然网络上已经有了不少文章,但我自己还是有遇到一些坑,因此总结一下我遇到的坑的经验。

 项目的web容器用的是本地的tomcat8。

  1.新建一个本地tomcat启动项

  

 

  

  2.选择需要部署的项目

  

  这里需要说明一下,部署的项目有两个选项,一个是:war一个是:war exploded。这两个是不同的。如果选择的是:war的方式。在server选择自动部署的选项是这样的:

  

 

  我们选择on 'Update' action选项为Redeploy时java代码在debug启动的时候会根据修改自动部署,第二个的on frame deactivation的选项只有两个,就算我选择了第二个,前端的freemark(*.ftl)代码也不会自动部署。我就是在这里被坑到了,巨惨!搜了好久的资料都是说freemark的配置文件的<prop key="template_update_delay">0</prop>这个设置的,对我来说没用。和我的情况并不符合。

所以我们跳过上面的坑。选择war exploded的选项时,在server那边的选项是

  

可以看到多出来了一个Update classes and resources 的选项。我们选择这个,这样当我们在debug我们的代码的时候,前后端代码就都可以自动部署了。

多说一句:

  自动部署有时候不准确,这种情况我们还是重启web容器,比较保险一些。比如:当我们在java代码中增加方法的时候,自动部署是不会部署新的方法的,我们只能改已有方法的代码,这是有效的。不能增加新的方法。还有有时候我们多次修改java代码,一直没有重启web容器的时候有时候也会出现一些问题。这一点需要注意一下。

 


 

  

 

  

 

posted @ 2017-10-15 20:10  DavinciDevil  阅读(1845)  评论(0编辑  收藏  举报