2013-02-13 57 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