2

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

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

4

1 回答 1

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”扩展名)的任何 Web 应用程序存档文件,以查看它是否包含上下文 XML 描述符(位于$CATALINA_BASE/conf/[engine_name]/[host_name]at /META-INF/context.xml),如果找到,描述符将被复制到$CATALINA_BASE/conf/[engine_name]/[host_name]目录并重命名。

于 2013-02-13T22:30:43.700 回答