当前位置: 代码迷 >> Web前端 >> IDEA TOMCAT WEB开发 SSH开发 批改类不重启 热部署 热加载 IDEA8
  详细解决方案

IDEA TOMCAT WEB开发 SSH开发 批改类不重启 热部署 热加载 IDEA8

热度:1227   发布时间:2012-10-24 14:15:58.0
IDEA TOMCAT WEB开发 SSH开发 修改类不重启 热部署 热加载 IDEA8

负责人:盘子杰

? 间:20090226

电话:15817441537

QQ39301568

前言

网上很多人误解热部署和热加载的概念,所以造成乱配置的行为,这里提示一下.

?

热部署:就是容器状态在运行的情况下部署或者重新部署整个项目.在这种情况下一般整个内存会清空,重新加载.简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.这种方式可能会造成sessin丢失等情况.

?

热加载:就是容器状态在运行的情况下重新加载改变编译后的类.在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。因为内存无法转变成对像. 一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的。在中模式最好是在调试过程中使用,免得整个项目加载.

?

debug模式都支持热加载.很方便使用.

?

下边介绍一下idea调试web工程的配置.

?

1.?指定编译class目录.
Module -> settings -> modules -> 工程名称 -> paths ->
User module comile output path ->
Output path 和 test output Path 设置为 ..\ webapp\WEB-INF\classes



?

?

2.?设置Webapp的目录相关配置
Module -> settings -> modules -> 工程名称 -> web -> Java EE build Settings ->
Web Facet Exploded Directory
在[create web facet exploded directory]打钩
在下边文本域中输入webapp的目录
在[exclude from module content]去掉钩
千万要注意 不是你就后悔

?

?

3.设置启动参数,或者共享多个工程配置
在Run/Debug Configurations 中添加一个tomcat server.
在server选项中
[Build on frame deactivation ] 编译工程.在debug模式下可以热加载class



?

4.在Deployment 选项中指定发布的工程和工程虚拟目录



?

5.[Share configuration] 共享多个工程在一个启动的tomcat



?

?

IDEA9 + Tomcat:? Java IDE编辑器 ------IntelliJ IDEA 使用基础篇

?

1 楼 genier200 2010-09-19  
我也在使用intellj idea,这个热部署的问题在于:

如果更新了一个java类中的某个方法中的code,compile后,自动加载到最新的代码;

但是如果给这个java类新增了新的方法或者改变了此方法的返回值,compile后将更新失败,提示不支持卸载的方法;

新增方法、更改方法的返回值:基本不能实现热部署!
  相关解决方案