我正在使用tomcat5.5(是的,它已经老了,我知道,没有选择),它包含2个webapps。通过在/ webapps目录中放置.war并让tomcat完成其余部分来部署两者。两个.war都以相同的方式生成(从Eclipse项目自动导出),并且两者都包含相同的清单,几乎相同的web.xml(servlet命名当然更改),没有其他花哨的东西。 我的server.xml包含:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
<Context path="/kernel"
docBase="/usr/share/tomcat5.5/webapps/kernelServlet/"
debug="1"
reloadable="true">
<Environment name="graphsDir" value="/var/lib/tomcat5.5/graphs" type="java.lang.String" override="false"/>
</Context>
<Context path="/ff"
docBase="/usr/share/tomcat5.5/webapps/ff/"
debug="1"
reloadable="true">
<Environment name="databasePath" value="/var/lib/tomcat5.5/ffdb/database" type="java.lang.String" override="false"/>
</Context>
换句话说,两个webapps几乎相同。我没有找到任何其他包含特定于一个webapp的东西的tomcat配置文件。
然而,kernelServlet的autodeploy工作(我只是替换webapps目录中的kernelServlet.war,而tomcat更改webapps / kernelServlet / dir中的解压缩代码),而不是ff(当我更改ff.war,没有任何反应;我必须重新启动tomcat以进行部署;我必须首先禁止webapps / ff / dir,否则在tomcat重启期间没有任何反应。)
我不知道在哪里看,在我看来,两个webapps在这个配置下的行为应该完全相同。