2011-04-22 253 views
0

我目前正在開發一個簡單的web項目,爲此我使用的是Polarion的SDK。當試圖與之合作的根據的* .jar檔案,Tomcat的7投在啓動時出現以下錯誤信息:如何解決java.lang.NoClassDefFoundError?

SCHWERWIEGEND: Exception sending context initialized event to listener instance of class org.apache.myfaces.webapp.StartupServletContextListener 
java.lang.NoClassDefFoundError: Lcom/polarion/alm/ws/client/session/SessionWebService; 

根據我所進行的研究,Java正在試圖找到一個實例 com.polarion.ws.client.session.SessionWebService(因此是領先的L)。我已經檢查了需要輸入的類路徑 - 它在那裏。

C:\Polarion\polarion\SDK\lib\com.polarion.alm.ws.client\wsclient.jar 

截至目前,我已經沒有想到會出現什麼問題。你有什麼想法?

非常感謝! Simon

回答

7

您不應該將庫用於CLASSPATH中的webapps。你應該把它們放在你的webapp的WEB-INF/lib目錄下。

+2

典型的初學者錯誤。將相應的.jar複製到WEB-INF/lib中可以立即解決問題。非常感謝! – 2011-04-22 11:23:20

+0

我很高興它仍然像它那麼多年前我上次使用Tomcat時那樣工作:) – 2011-04-22 11:24:56

+0

@RobinGreen如果我想將我的jar文件放在WEB-INF/lib之外怎麼辦?可以從那裏設置類路徑嗎? – Achyut 2013-10-08 12:04:24

2

部署和編譯是不同的過程。你應該知道這一點,你可以編譯,但是如果必要的庫不能被已部署的應用程序訪問,你會得到這個異常。如前面的答案所示,你應該在Web應用程序中放置必要的庫WEB-INF/lib目錄..

+0

我很高興現在瞭解這種差異。 – 2011-04-22 11:27:26

相關問題