2013-02-13 37 views
2

我有一个servlet abc.jar,我复制到$TOMCAT/webapps,并且一切正常。接下来,我关闭tomcat,删除文件夹abc和war文件。当我重新启动tomcat时,它会出现如"Cannot find folder .../abc",FileNotFoundException等错误消息。tomcat6在哪里隐藏其缓存?

我的问题:它是如何知道它应该在寻找这个​​?我从“temp”和“work”文件夹中删除了命名的目录,但它仍记得它。我如何清理所有的工件?这是tomcat 6,java-1-6-37。 TIA。

回答

1

如果您关闭了Tomcat,删除了$CATALINA_HOME/temp/,$CATALINA_HOME/webapps/abc/$CATALINA_HOME/work/文件夹,并删除了$CATALINA_HOME/webapps/abc.war文件;那么有问题的剩余引用可能是$CATALINA_HOME/conf/Catalina/localhost/abc.xml(当Tomcat部署它时,它会从您的Web应用程序中复制)。

这不是一个“缓存”,但可能会导致Tomcat寻找不再存在的文件夹。

有更详细的信息在http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Automatic%20Application%20Deployment。例如:

主机的appBase目录内不具有相应的上下文XML描述符(带有名为“.xml”扩展名,而不是一个“的.war”扩展名)在$CATALINA_BASE/conf/[engine_name]/[host_name]任何Web应用程序存档文件将被扫描查看它是否包含上下文XML描述符(位于/META-INF/context.xml),如果发现其中一个描述符将被复制到$CATALINA_BASE/conf/[engine_name]/[host_name]目录并重命名。

+0

这是打击头部的一个例子!谢谢你,先生。 – 2013-02-13 22:43:51