2012-12-20 26 views
1

我複製所有struts2的罐子到WEB-INF/lib文件夾中,如下面所示的struts.xml中的文件:拋出java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuterFilter

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">* 

我在運行應用程序時仍然會出現此異常。
我該如何解決這個問題?

+0

檢查所有jar-S是你的戰爭文件中。 –

回答

1

包含此映射在web.xml文件

<filter> 
     <filter-name>struts2</filter-name> 
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
     </filter> 

    <filter-mapping> 
     <filter-name>struts2</filter-name> 
     <url-pattern>/*</url-pattern> 
     </filter-mapping> 
+1

這與未找到的課程有什麼關係?如果它尚未被映射,我甚至不知道它將如何查找該過濾器?我錯過了什麼嗎? – chad

+0

upvoting沒有意義的答案。 –

3

關於該錯誤提到 嚴重:異常開始過濾的struts2拋出java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

問題: 似乎與下列組合 Eclipse的一個問題 - WTPPlugin - Struts2的 - Maven3

結果: 我們假設當我們將項目作爲「在服務器上運行」運行時,我們假設eclipse運行maven,創建WAR文件並在服務器上部署。但它不適合我。我確實在Maven創建WAR的目標文件夾中看到WAR文件,並且WAR是完美的。但日食似乎運行其他東西。

解決方案: 將所有必需的JAR文件放入eclipse項目的WEB-INF/lib中。 如果您使用版本控制,請確保忽略lib文件夾。 如何在使用maven時查找所有必需的JAR?轉到目標文件夾和WAR文件。打開它並轉到WEB-INF/lib。將所有這些JARS複製到eclipse項目的WEB-INF/lib中。

感謝, 惡劣

+0

你的方法是完美的,我也懷疑,但是當我將項目導出爲war文件並將其導入到分離的tomcat服務器中時,它不能運行 – Bourkadi

1

它發生在我身邊,我通過重新從的IntelliJ設置文物解決它。如果您使用Intellij,則需要重新爲您的Web項目重新創建Artifacts。

  • 轉到文件 - >從左邊的選項卡項目結構
  • 選擇文物。
  • 通過選擇工件並單擊工件頂部的( - )按鈕來刪除當前工件。
  • 添加新的文物,首先戰爭爆炸,然後戰爭檔案。
  • 享受。

enter image description here

+0

非常感謝你的兄弟! –

4

對於Struts2的類路徑的新版本變更等的下方(在Struts 2。5)

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 

軟件包名稱已更改 有些類被轉移到不同的包,請參閱下面的列表瞭解更多詳情:


新:


org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 
org.apache.struts2.dispatcher.filter.StrutsExecuteFilter 
org.apache.struts2.dispatcher.filter.StrutsPrepareFilter 
org.apache.struts2.dispatcher.listener.StrutsListener 
org.apache.struts2.result.ServletRedirectResult 
com.opensymphony.xwork2.interceptor.ValidationAware 

老:


org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter 
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter 
org.apache.struts2.dispatcher.ng.listener.StrutsListener 
org.apache.struts2.dispatcher.ServletRedirectResult 
com.opensymphony.xwork2.ValidationAware 

更多細節Click Here

相關問題