项目一期已经完成。在最后的测试,bug修改,回归阶段,eclipse3.3 + wtp + tomcat5.5+jdk1.5给整个项目组带来了巨大的无力感。问题出在hot deploy上,在上面所述的环境下,任何java源代码的更改都会导致wtp的重启,session的失效,之前的页面操作需要重兴做一遍才能回到需要测试的页面。如果java web项目能做到ruby那样的hot deploy该多好啊。可惜项目2期依然是java的环境,看来只有自己想办法改善了。查了下网上的资料,大概有如下几条路可以走。
1:改用Tomcat 的嵌入式版本。
优点:启动速度更快,wtp上publish阶段所需要的copy 文件的时间可以节约下来。
疑问:Tomcat 的嵌入式版本是否支持hot deploy。感觉需要tomcat支持hot deploy 需要修改tomcat的classloader机制。
2:修改tomcat的classloader机制。在classloader的分层里面,tomcat的 classloader属于app 级别的classloader。可以通过修改tomcat的源代码来解决java类修改不需要重启tomcat的功能。
疑问:网上该方法的资料很少,javaeye上也只看到大家讨论过修改web中的配置文件,不需要重启tomcat的讨论,一切不确定因素太多了,项目等不得。
3:改用classfish v2来替代tomcat。
测试过一下。虽然不需要重启,不过build的时间依然不短,而且session还是失效了。效果没有现象中的理想。
4:wtp插件的问题。
将wtp插件改成使用sysdeo 的tomcatplugin插件。tomcatplugin插件如果发现有java文件修改,如果该文件的修改是tomcat 的classloader不支持hotdeploy,会给你提示。让你选择是否重启,这个比wtp已经人性化一点了。不过还是不能实现hotdeploy。
5:使用
javarebel
看javarebel的官网,上面提到的hotswap功能的确让人心动。不过是收费的,而且相关的使用经验和资料太少,风险比较大。
应该选择哪种方法解决问题,希望有经验的大大给点经验。
分享到:
相关推荐
Tomcat环境搭建,web项目环境搭建,前后端一体项目环境搭建。
java环境配置及使用tomcat项目部署
tomcat配置环境变量,适合初学者参考配置。
项目-tomcat
切换tomcat工作空间,需要经常切换tomcat工作区间的大用!!
项目-tomcat3
创建一个Web项目并向Tomcat发布.
安装JDK Tomcat 环境变量配置 安装JDK Tomcat 环境变量配置
Tomcat攻击项目
项目-tomcat5
Tomcat工作原理祥解,Tomcat工作原理祥解
jdk5.5+tomcat5.5 环境配置
tomcat的工作原理 讲述Tomcat是如何工作的
安装JDK和tomcat环境变量配置
Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp...
4.如何在一台机子上启动两个TOMCAT 6 5.Windows平台下tomcat安全设置 7 6.Linux下Tomcat配置 8 6.1 所需的软件包 8 6.2 安装所需要软件 8 6.3 设置环境变量 9 6.4 编译生成mod_webapp.so 9 6.5 独立环境的测试 10...
TOMCAT一键设置环境变量
Tomcat 8.0 64位下载_Tomcat环境变量配置,欢迎大家下载
在Tomcat启动时会去webapps下访问默认ROOT目录下的应用程序,这就导致你始终不能直接访问的原因 切记切记切记,这才是关键 先将它原始就有的ROOT删掉 把 自己的项目包“oa.war” 改成 “ROOT.war” 即可,因为下面的...
tomcat服务器上部署项目