2010-06-10 93 views
13

我通過將文件複製到目錄中,將WAR文件部署到$ TOMCAT_HOME/webapps中,就像我以前做過的一樣。 Tomcat檢測到WAR並對其進行膨脹。我可以在命令行(它是Fedora)遍歷服務器上的目錄樹。Tomcat在所有新部署的WAR文件上報告404錯誤?

但是,當我在我的客戶端機器的瀏覽器中尋址web應用程序時,我得到的只有404錯誤。這發生在最後兩次完全獨立的WAR部署中。

第一個是替換現有的WAR。我首先刪除了WAR及其虛增的目錄,然後在膨脹的WAR中複製... 404.我再次刪除了所有內容,將之前正在運行的WAR從備份中恢復。它膨脹和工作。

第二個是一個全新的,從來沒有部署之前WAR ......不過404

其他戰爭正在努力,但現在恐怕要改變什麼,直到我知道是怎麼回事。任何線索?


編輯:從我的意見,你可以看到日誌包括「嚴重錯誤:listenerStart」戰爭是由Tomcat的部署後。沒有報告堆棧痕跡或其他錯誤。


EDIT2:原來,第二戰一直在尋找ELResolver,但沒有找到它。這被埋在本地主機日誌文件中。

+0

啓動/錯誤日誌中的任何東西? – BalusC 2010-06-10 17:19:11

+0

信息:部署Web應用程序存檔shindig.war 2010年6月10日上午9時29分41秒org.apache.catalina.core.StandardContext開始 嚴重:錯誤listenerStart 2010年6月10日上午9時29分41秒org.apache .catalina.core.StandardContext start SEVERE:由於之前的錯誤導致Context [/ shindig]啓動失敗 但是沒有「以前的錯誤」。 – dacracot 2010-06-10 17:34:06

+0

那裏_必須是以前的錯誤。 – 2010-06-10 18:35:10

回答

0

如果Web應用程序沒有正確部署,您將獲得404的。

您應該刪除WAR文件,並讓Tomcat刪除膨脹的war文件夾本身。

ListenerError可能是web.xml仍然指向一個偵聽器,它不在您想要放入戰爭的新代碼中。

+0

或者監聽器可能沒問題,但是它依賴的其他一些庫缺少/具有不同的版本等等。這一個是相當調試。 – Pavel 2013-01-11 17:44:46

+0

如果沒有index.html我總是得到404 – jgr208 2014-10-01 18:55:59

0

刪除war文件,清理tomcat,啓動,關閉,然後再次發生戰爭。

ONTO:確保戰爭正確生成。

0

您應該轉到「服務器」選項卡並右鍵單擊「屬性」並按下「切換位置」按鈕。之後,您再次進行測試。讓我知道它是否有效。 (參考:404 with tomcat/eclipse deployed webapp)。