2013-10-25 208 views
0

我使用Maven創建了一個java web應用程序。該應用程序使用一些資源(圖像)。我用Maven-> clean package運行它以創建一個war file。我使用Tomcat進行部署。戰爭文件完美地在我的機器上運行,另外兩臺機器在Chrome和Internet-Explorer中運行。今天我們已經在第四臺機器上嘗試過了,它提出了問題,一些資源不包括在內。我們所有人都使用Tomcat 7,區別在於戰爭文件無法工作的機器使用Tomcat 7的較低版本。但他堅持認爲,問題出在應用程序上,而不在服務器上。這種不一致的可能和合理的理由是什麼?你認爲哪裏存在問題的根源?War文件無法正常工作

+0

的確,問題出在你的應用程序而不是服務器上。您可能需要更新一些類依賴關係。 stacktrace中的任何錯誤都可以進一步解釋 –

+1

機器使用的是什麼操作系統?這可能是由區分大小寫或文件夾分隔符「/」vs「\」等引起的。 –

+0

@GV:爲什麼它在三臺機器上正常運行?你的意思是在pom.xml中有「類依賴」依賴嗎?堆棧跟蹤沒有錯誤。此外,我們都使用Windows 8. – arjacsoh

回答

0

「戰爭」文件就像你猜對了一個包(實際上是一個zip文件)。你可以將它解壓縮並檢查裏面的內容以確保資源在那裏。

另外,當你將它部署到tomcat中時,tomcat會自己將它解包到它的webapps目錄(或它指向的任何地方)。

確保所有文件都在包中,並且在部署完所有文件解壓縮之後,您可以檢查命名。必須有區別,我懷疑是tomcat版本,但是如果你必須升級tomcat並重試。 它也可能是一些緩存,也許你在你的tomcat服務器上工作了一段時間,並且你有沒有正確清理以前部署的資源。停止tomcat,刪除你的應用程序目錄,複製war文件並重新啓動tomcat,以便在所有服務器中進行乾淨的部署。 (在tomcat中的熱部署可能是相當狡猾和bug)

我不認爲我可以給一個解決方案的答案考慮缺乏細節,但我希望我以某種方式幫助。