最近的接触的Java shop++后台项目开发过程中,发现每次修改FreeMarker模板都需要重新部署启动Tomact才能生效。所以找了一些文档,最终实现代码实时更新。
FreeMarker flt代码更新配置
在freemarker.properties配置文件中设置
|
|
在shop++项目中则是shopxx.properties配置文件中设置
|
|
这个属性相当于设置延迟更新模板的时间,单位应该是秒
Intellij Idea Tomcat配置
- 打开Run/Debug Configurations配置对话框
- 选择 Deployment 选项卡
- Deploy 和 Before 中都选择带 exploded,如果没有,先点击add
由于服务器添加的Artifact类型问题,一般一个module对应两种类型的Artifact,一种是war,一种是war explored。war就是已war包形式发布,当前项目是这种形式,在这种形式下on frame deactivation配置没有update classes and resources选项。war explored是发布文件目录,选择这种形式,这个相当于改 Tomcat 的 CATALINA_HOME, 效率比较高,on frame deactivation中就出现update classes and resources选项了。
- 返回Server选项卡
- On ‘Update’ action和On frame deactivation这两项目选择Update classes and resources
配置文件实时更新
前面的配置只是可以实现代码上的实时更新,如果需要项目运行的配置文件也实时更新,可以通过JRebel插件实现,具体配置可以参考Java 开发热部署,配置文件修改不用重启Tomcat这篇文章。
参考文章
IntelliJ IDEA12 怎么热部署,每次修改java文件就得重启tomcat