在tomcat5.0以上版本中修改java代码而不用重启服务器

如果server.xml中配置如下,则需要重启

<Context reloadable="true" debug="0" docBase="D:\WORKSPACE\test\webapp" path="/test" />

这样,修改java代码不需要重启:

<Context  docBase="D:\WORKSPACE\test\webapp" path="/test" />

或者直接通过myeclipse部署,也可以修改java代码不用重启。









1.问题:
一直以来,虽然在使用MyEclispe+Tomcat在Eclipse里面启动tomcat可以DEBUG JAVA类代码,但是一旦DEBUG发现代码有问题,修改后需要重新启动容器才能生效.

2.解决:
使用tomcat5.5.xx以上版本后,只要配置tomcat不因为类的修改重新加载容器。那么你如果只是修改了类的实现(方法体内的代码),而不是添加或删除类的方法和成员变量。tomcat是可以直接运行的。即:只要修改tomcat的Server.xml的Context的配置,就可以在MyEclipse里面DEBUG和直接修改代码而不重新Tomcat重新加载你的修改,很大的提高调试的效率。具体配置很简单:

server.xml

      <Host name="localhost" appBase="webapps"
      unpackWARs="true"
      xmlValidation="false" xmlNamespaceAware="false">
                <Context path="/media" docBase="D:\temp\media"/>
                <Context path="" docBase="D:\workspace\voice_internet\src\main\webapp"/>

      </Host>
关键:在Context上不要加reloadable和debug属性。

你可能感兴趣的:(java,eclipse,tomcat,xml,MyEclipse)