我有一个servlet abc.jar,我将其复制到$TOMCAT/webapps
,一切正常。接下来,我关闭tomcat,删除文件夹abc和war文件。当我重新启动tomcat时,它会出现错误消息,如"Cannot find folder .../abc"
,FileNotFoundException等。
我的问题:它如何知道它应该寻找这个"abc"
?我从“temp”和“work”文件夹中删除了命名目录,但它仍记得它。如何清理所有工件?这是tomcat 6,java-1-6-37。 TIA。
答案 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]
目录并重命名。