Tomcat

在 Tomcat 中部署的戰爭沒有出現在 URL 中,而是得到 404

  • November 24, 2010

我有一個 Tomcat 說它已經部署的網路應用程序,但是當我轉到它的 URL 時,我得到一個 404。

war 文件名為 sonar.war,部署在 WebApps 中。我可以在日誌中看到它正在部署(另外,如果我刪除所有表並重新啟動 Tomcat,它將重新創建其數據庫表),並且通過使用 JConsole,我可以看到它Mbeans->Catalina->Host->Localhost->Attributes->children作為 web 模組存在。

同樣在同一台機器上的是 hudson.war,它工作正常 - 我確定我正在連接到正確的機器,因為我可以刪除 hudson.war 並且 Hudson 從 URL 中消失。

日誌中沒有任何內容;我嘗試更改日誌級別以包含更多資訊,但我仍然什麼也看不到。

有什麼想法/建議嗎?如有必要,我很樂意將調試器附加到 Tomcat 實例,以便嘗試找出正在發生的事情,但我不確定入口點是什麼,所以指向我可能想要放置斷點的位置的指針也是讚賞。

我用的是Tomcat 6,Tomcat前面什麼都沒有(比如Apache)。

使用管理器應用程序設置伺服器並在那裡部署戰爭。管理器將向您顯示它部署到的 URL 路徑。您可以在真實的 Tomcat 伺服器上嘗試該路徑。

對於測試部署,我保留安裝的管理器應用程序,以便更容易解決此類問題。該應用程序也可能正在部署,但有其他問題導致它無法綁定到其上下文。

現在壓力消失了,我已經能夠進行一些調查。CATALINA_HOME/conf 文件夾中缺少以下文件:

  • web.xml
  • 上下文.xml

我假設 Sonar 的配置意味著 Tomcat 無法處理這些文件失去的問題,而 Hudson 將這些資訊包含在其他地方。

引用自:https://serverfault.com/questions/205154