现在这个项目非常大,每次重启都得五分钟,而在Myeclipse中每次修改一个java类文件后都得重新启动服务,这样的效率真是可想而知。我想问一下,有没有什么办法使得在MyEclipse中修改java文件像修改jsp文件那样马上能够反应到程序当中的呢?谢谢!
我在网上找过一个什么javarebel,不过不管用,不知道是自己配置没配好还是怎么着的。据说GlassFish对热部署支持挺好,不过现在项目用的是Tomcat啊,各位兄弟有什么好的方法不?

解决方案 »

  1.   

    热部署和热加载不一样的。GF也是要重载整个。之前也听说可以加载某个类而不是全部,没看见有人实现并贴出来分享。
    修改不用重启吧,只是又加载一次而以。而且JSP修改也不是马上就有反应的,Eclipse好像是5秒后,
      

  2.   

    tomcat对java类的修改本来就不需要重启project,除非修改的类是:serverlet,公共接口等
      

  3.   

    我项目是部署在Root目录下的,而且启动的时候需要加载很多东西,如果只在Tomcat上redeploy服务还是会重启,而且速度更慢,所以还不如直接重启服务呢。。呵呵,我也知道热部署和热加载不一样,但还是有点混淆··感觉无关重要
      

  4.   

    一般的修改配置文件才需要重启的。 其他的就需要重启tomcat的。
      

  5.   

    按正常TOMCAT修改JSP不用重启的,修改类都要重启!找到Tomcat 下的context.xml
    <Context path="/xxx" docBase="d:\java\Workspaces\WebRoot" reloadable="true">   
    </Context> 
    path是项目上下文路径
    docBase是项目的部署DOC
    reloadable一定设置为true,这个是自动加载
      

  6.   


    建议使用Jboss,玩EJB的时候,热部署挺爽 。。 比tomcat高效多了 
      

  7.   

    有个疑问,我也碰到类似问题,有某些类通过修改后(有组件类,也有servlet的子类),我会把他编译成.class后在tomcat运行状态下就复制到对应位置,替换原.class文件,但实际效果不会立即显现,我也没测试过一段时间后是否能自动更新。
      

  8.   

    之前在javaeye看到高手提到过JavaRebel LZ有空去看看好象能实现你的需求。。每次启动5分钟我已经习惯了
      

  9.   

    struts2的话倒可以
    struts.devMode = true  (Tomcat的路径不能有空格)
      

  10.   

    谢谢诸位,什么时候自己写个classloader也行啊。。