应用重载,tomcat重启的问题

如果修改了方法内部的代码,则整个应用需要重新载入,比较慢!
如果修改了类的结构(增减属性、方法等),则整个tomcat需要重启!

有没有解决办法?我找了很久了,一直都没有找到合适的解决方案,难道大家都这样忍受着?

我的环境是myelcipse,jdk5,tomcat6
问题补充

logicgate 写道
魔力猫咪 写道
如果是你Windows平台上开发的话,这种问题建议你还是换一个服务器吧。Tomcat在windows下动态修改代码无法自动更新。

可以更新。但多次动态载入后经常出现outofmemeoryexception

是可以更新,但能不能只更新修改的那个类?
我每次只修改一个类,但是却要重载整个应用!
问题补充
Glassfish没有用过,比tomcat好用吗?
问题补充:
evanerv0079 的方法很管用!谢谢!

不过,这只是修改方法内部不用重启,有没有修改类结构也不用重启的办法?

把自动重启的属相改成false,用debug模式启动,改java文件就不用重新启动了

如果是你Windows平台上开发的话,这种问题建议你还是换一个服务器吧。Tomcat在windows下动态修改代码无法自动更新。

[quote="魔力猫咪"]如果是你Windows平台上开发的话,这种问题建议你还是换一个服务器吧。Tomcat在windows下动态修改代码无法自动更新。
[/quote]
可以更新。但多次动态载入后经常出现outofmemeoryexception

那么应该是因为重复加载造成内存耗尽。我在NetBeans上确实是Tomcat上无法动态部署,但是Glassfish就没问题。
调整一下服务器的启动参数应该就可以了。

建议还是换一个服务器最容易,比如Glassfish。

很好用的。如果想要功能全面的,可使用Glassfish2。想要速度快,可以使用GlassFish v3 Prelude。

OOME可以在bin/servet.bat 里修改下
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Xms256M;-Xmx256M;-XX:NewRatio=3;-XX:PermSize=32M;-XX:MaxPermSize=256M;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm
设置-xmx 就可以解决了.
鱼也不见得会好啊,不知道是我设置不对还是它本身就这样/启动肯定快不过猫的.修改也是重新载入整个应用.