2011-04-28 20 views
7

日誌時啓動Tomcat拋出java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher

Apr 28, 2011 10:52:57 AM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\software\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;D:/software/jdk1.5.0_06/bin/../jre/bin/client;D:/software/jdk1.5.0_06/bin/../jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin.;D:\software\jdk1.5.0_06\bin;D:\software\Ant 1.7\bin;D:\software\Axis2-1.5.4\axis2-1.5.4-bin\axis2-1.5.4\bin;C:\Program Files\IDM Computer Solutions\UltraEdit\ 
Apr 28, 2011 10:52:58 AM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsHelloWorld' did not find a matching property. 
Apr 28, 2011 10:52:58 AM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsHelloWorld1' did not find a matching property. 
Apr 28, 2011 10:53:00 AM org.apache.coyote.http11.Http11Protocol init 
INFO: Initializing Coyote HTTP/1.1 on http-8080 
Apr 28, 2011 10:53:00 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 3657 ms 
Apr 28, 2011 10:53:00 AM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Apr 28, 2011 10:53:00 AM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32 
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter struts2 
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269) 
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:585) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext start 
SEVERE: Error filterStart 
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext start 
SEVERE: Context [/StrutsHelloWorld1] startup failed due to previous errors 
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider). 
log4j:WARN Please initialize the log4j system properly. 
Apr 28, 2011 10:53:05 AM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-8080 
Apr 28, 2011 10:53:05 AM org.apache.jk.common.ChannelSocket init 
INFO: JK: ajp13 listening on /0.0.0.0:8009 
Apr 28, 2011 10:53:05 AM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/46 config=null 
Apr 28, 2011 10:53:05 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 4951 ms 

回答

0

選擇是否在你的web應用程序的classpath有struts2.jar

+0

它已經包含在我在Maven Dependencies下的構建路徑中,但它仍然不起作用。我錯過了什麼嗎? – vida 2013-03-21 10:05:34

+0

你可以請求pom.xml嗎? – 2014-05-19 12:16:39

0

問題只在你的類路徑設置中,因爲你的類路徑中有所有的jar。 如果您使用的是Eclipse,只需從類路徑中刪除所有jar,然後再從頭開始構建類路徑。 它會工作

0

第一步看看tomcat下的webapp lib文件夾下面的jar包下面有沒有複製,

1

如果你是使用Eclipse然後在Java Build Path中添加所需的庫將不起作用。您必須在Deployment Assembly中再次添加這些庫。 右鍵單擊項目>>屬性>>選擇部署Assemlby。 通過單擊添加按鈕添加所需的Java Build Path條目。

0

這爲我工作:

  1. 所有必需的JAR文件複製到的WebContent> WEB-INF> lib中文件夾
  2. 確保您已經添加公地lang3-3.1Struts2的核心 - 2.3.16.3
14

如果你有...

  1. 包括所有必要的罐子
  2. 配置構建路徑正確
  3. 加入他們都在展開組件
    正確。

然後你也得到「java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher」錯誤,那麼你可能會做下面的事情錯誤。

解決方案:

檢查Struts2的核心 - x.x.jar版本。

- > if it is struts2-core- 2.5。JAR然後在web.xml中的過濾器類標籤值更改爲

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

- >如果是Struts2的-芯 - 然後2.1.3的.jar在web.xml中改變你的過濾器類標籤值

<filter-class> 
    org.apache.struts2.dispatcher.FilterDispatcher 
    </filter-class> 

自從Struts 2.1.3以來,FilterDispatcher已被棄用。如果您正在使用舊版本,則請使用以上解決方案。

- >如果是Struts2的-芯 - 然後2.3.x版本的.jar在web.xml中的過濾器類標籤值更改爲這一切背後

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

原因是Struts 2個的控制器放置在不同版本的struts2-core jar中的不同版本的不同位置以及一些時間它們被不同名稱調用,您可以在2.1.3中看到。

謝謝

-2

Struts2的採用了很多相關的罐子,讓他們在WEB-INF/lib文件夾。這種組合適用於我。 Struts2的核心 - 2.3.4.jar 公地文件上傳-1.3.1.jar 公地IO-2.4:我在我使用Tomcat的7.0.6或7.0.57

兼容罐部署它們。罐子 共享記錄-1.1.3.jar 共享記錄-API-1.1.jar freemarker的-2.3.23.jar OGNL-3.1.4.jar XWork的核心 - 2.3.4.jar javaassist- 3.2.0-GA.jar commons-lang3-3.4.jar

相關問題