负责人:盘子杰
时? 间:2009年02月26号
电话:15817441537
QQ:39301568
前言
网上很多人误解热部署和热加载的概念,所以造成乱配置的行为,这里提示一下.
?
热部署:就是容器状态在运行的情况下部署或者重新部署整个项目.在这种情况下一般整个内存会清空,重新加载.简单来说就是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 使用基础篇
?
如果更新了一个java类中的某个方法中的code,compile后,自动加载到最新的代码;
但是如果给这个java类新增了新的方法或者改变了此方法的返回值,compile后将更新失败,提示不支持卸载的方法;
新增方法、更改方法的返回值:基本不能实现热部署!