tomcat6在哪里隐藏缓存?

时间:2013-02-13 21:29:58

标签: tomcat6

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

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

1 个答案:

答案 0 :(得分: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目录中的任何Web应用程序归档文件都没有$CATALINA_BASE/conf/[engine_name]/[host_name]中相应的上下文XML描述符(扩展名为“.xml”,而不是“.war”扩展名)扫描以查看它是否包含上下文XML描述符(位于/META-INF/context.xml),如果找到一个描述符,则描述符将被复制到$CATALINA_BASE/conf/[engine_name]/[host_name]目录并重命名。