2016-02-12 112 views
0

我試圖爲我的Web模塊構建我的.war文件並將其導出到自動部署文件夾。然而,它總是崩潰此錯誤:Java NoClassDefFoundError構建WAR文件

Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest

我使用Eclipse作爲月神我的IDE和所有的apache的罐子被添加到我的構建路徑。是否還有其他地方需要添加它們才能起作用?

enter image description here

回答

0

檢查,如果你有HttpClient的在你的POM文件的依賴。 如果沒有,你已經添加:

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.5.1</version> 
</dependency> 

如果你不使用Maven,下載JAR並添加classpath中。

0

您應該將apache jar放到您的web project's > Webcontent > WEB-INF > lib文件夾中。

它似乎代碼成功編譯,因爲它們在您的項目的類路徑。但在運行時,您的Web項目的類路徑沒有意義(這是編譯時)。在運行時,這些apache jar應該在運行時classpath(某處像WEB-INF/lib文件夾或EAR/lib文件夾或應用程序服務器的運行時類路徑等...)的地方...