2011-10-29 21 views
2

我有一個簡單的hello world java應用程序,我在新代碼中更改了servlet的輸出以在循環中打印一些語句。上傳一個新的.war文件,但tomcat總是以某種方式繼續提供舊代碼?

它在當地正常工作。

我上傳了新的.war文件,停止了tomcat,刪除了/webapps中的舊.war文件和爆炸文件夾。

然後我複製新的.war文件,然後重新啓動tomcat。

它爆炸了文件夾,但不知何故代碼是舊的。

它能以某種方式緩存.war文件嗎?

我確實改變了server.xml並設置了autodeploy = false,但不確定這是否相關?

回答

4

刪除工作目錄並重新啓動tomcat。

位太簡短對不起。 Tomcat會在編譯之前將jsp轉換爲servlet源代碼,某些緩存發生在工作目錄中,這可能是導致它發生的原因。

它已經有一段時間,因爲我用Tomcat的,但我相當肯定的結構類似工作/主機/發動機/背景,所以你可能會發現在工作/本地主機/卡塔利娜/你的東西 - 網頁context--

+1

這個問題困擾了我整個項目。感謝您向我展示如何解決這個問題。 – BostonJohn

1

我的確改變了server.xml中,並設置自動部署=假,但不知道這 是相關的?

oO。

從文檔

該標誌值表示,如果新的Web應用程序,投入到 appBase目錄,而Tomcat正在運行,應該是自動 部署。該標誌的值默認爲true。請參閱自動應用程序 部署以獲取更多信息。

我會從那裏開始。

相關問題