我已經構建了一個Java Web應用程序,並將它打包在一個.war
文件中,並在我的本地tomcat服務器上進行了測試,並且運行良好。Java - 部署Web應用程序的問題
但是,當我將它部署在我的客戶端的服務器上時,它顯示錯誤。根據遠程服務器(我的客戶端的服務器),它沒有找到一個打包在我放在WEB-INF/lib
目錄中的jar文件中的tld
文件。但是當我檢查了jar文件的WEB-INF/lib
目錄時,我發現它在那裏。
的META-INF/MANIFEST.MF
內容如下:
Manifest-Version: 1.0
Class-Path:
我認爲沒有必要明確提及WEB-INF/lib
目錄的類路徑,因爲它是在默認情況下,任何Web應用程序的類路徑。
然後,當我在遠程服務器上部署它時爲什麼服務器無法在lib
目錄中找到該jar文件,以及爲什麼當我在本地服務器上部署相同的應用程序時它仍在工作。
我在Struts 1 - struts-taglib.jar is not being found by my web application上發佈了一個問題,但發現問題並不常見,因爲沒人能回答。
所以我的問題如下:
Q1。如果我將類路徑條目留空,如上面MANIFEST.MF文件中所示,或者我應該從文件中完全刪除類路徑條目,或者我應該明確地輸入Class-Path: /WEB-INF/lib
作爲類路徑條目,那麼WEB-INF/lib
仍然保留在類路徑中? Q2302。我有JSP
頁面,Servlet
和Web應用程序中的一些幫助程序類。 Jsp頁面位於根。 Servlet和幫助類位於WEB-INF/classes
文件夾中。所以如果我的幫手類位於WEB-INF/classes
文件夾中,是否有任何問題?
注意:請注意,這個問題是不同於我以前的問題。這是我上一個問題的後續問題。
這兩個服務器(本地和遠程)都是tomcat服務器。
先給發生類路徑顯式。 – Zaki 2010-03-16 06:55:50
經典之一,「我發誓它在我的機器上工作」的問題:) – medopal 2010-03-16 07:06:01
@medopal這裏沒有什麼好笑的...不張貼無用的評論 – 2010-03-16 07:25:20