war文件是放在自己建的虚拟目录下,没有放在webapps里,所以应该在context里写docbase=xxx.war还是docbase=xxx?同时写了reloadable=true的话会对war的更新做热部署吗?还是只要我替换了war文件,tomcat就能不重启自动更新了?

解决方案 »

  1.   

    tomcat可以包含多个context,如果不在webapps里面的话,需要在server.xml中增加:
    <Context docBase="E:\workspace\appName\webapp" path="/appName" reloadable="true"/>
    就可以通过http://ip:port/appName 去访问了,reloadable会在更新的时候自动重启部署,不会不重启就自动更新
      

  2.   

    那我docbase里写的是webapp.war 和webapp有什么区别吗?那有没有什么办法可以使我替换war包后不重启就进行热部署呢
      

  3.   

    docBase中那二个没有什么问题,只是一个是解压的,一个是未解压的,未解压的 tomcat会帮你解压到webapps下面去
    而webapp下面指定了位置,就不会帮你解压,直接使用目录下的文件,也不会再webapps里面产生文件。
    war包方式能不能自动更新我没试过,可以试一下,webapp形式反正是不行的
      

  4.   

    git