运行Tomcat6.0出现如下错误:
严重: Exception starting filter Struts2
java.lang.ClassNotFoundException: org.apache.Struts2.dispatcher.FilterDispatcher
我在baidu里搜了下,提供的解决方案有:
1、导入commons-fileupload.jar和commons-io.jar包
2、将tomcat及jdk版本更新到struts2的需求,即5.5及1.5
3、添加struts2开发所需完整jar包
4、检查web.xml及struts.xml是否书写错误
5、将struts2相关包手动添加到classpath中
我用的是MyEclipse7.0 JDK1.60
工程中引用的struts2相关包有:
commons-io-1.4.jar
dwr.jar
jsonplugin-0.34.jar
xwork-core-2.1.6.jar
commons-logging-1.0.4.jar
freeer-2.3.15.jar
struts2-core-2.1.8.1.jar
ognl-2.7.3.jar
commons-fileupload-1.2.1.jar
struts2-spring-plugin-2.1.8.1.jar
ant.jar
所以方案1234对我不适用
至于方案5,暂时没有尝试过,因为我觉得如果要将上述包统统添加到classpath中,那工作量可真不小。
请问大家有什么解决方案?
严重: Exception starting filter Struts2
java.lang.ClassNotFoundException: org.apache.Struts2.dispatcher.FilterDispatcher
我在baidu里搜了下,提供的解决方案有:
1、导入commons-fileupload.jar和commons-io.jar包
2、将tomcat及jdk版本更新到struts2的需求,即5.5及1.5
3、添加struts2开发所需完整jar包
4、检查web.xml及struts.xml是否书写错误
5、将struts2相关包手动添加到classpath中
我用的是MyEclipse7.0 JDK1.60
工程中引用的struts2相关包有:
commons-io-1.4.jar
dwr.jar
jsonplugin-0.34.jar
xwork-core-2.1.6.jar
commons-logging-1.0.4.jar
freeer-2.3.15.jar
struts2-core-2.1.8.1.jar
ognl-2.7.3.jar
commons-fileupload-1.2.1.jar
struts2-spring-plugin-2.1.8.1.jar
ant.jar
所以方案1234对我不适用
至于方案5,暂时没有尝试过,因为我觉得如果要将上述包统统添加到classpath中,那工作量可真不小。
请问大家有什么解决方案?
2010-4-10 18:36:52 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\java\java\bin;D:\Program Files\apache-tomcat-6.0.20\bin
2010-4-10 18:36:52 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2010-4-10 18:36:52 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 558 ms
2010-4-10 18:36:52 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-4-10 18:36:52 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
2010-4-10 18:36:52 org.apache.catalina.startup.HostConfig deployDescriptor
警告: A docBase D:\Program Files\apache-tomcat-6.0.20\webapps\webdemo inside the host appBase has been specified, and will be ignored
2010-4-10 18:36:53 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter Struts2
java.lang.ClassNotFoundException: org.apache.Struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2010-4-10 18:36:53 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-4-10 18:36:53 org.apache.catalina.core.StandardContext start
严重: Context [/webdemo] startup failed due to previous errors
2010-4-10 18:36:54 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2010-4-10 18:36:54 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2010-4-10 18:36:54 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2010-4-10 18:36:54 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2010-4-10 18:36:54 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31 config=null
2010-4-10 18:36:54 org.apache.catalina.startup.Catalina start
信息: Server startup in 2129 ms
org.apache.struts2.dispatcher.FilterDispatcher楼主,发现区别了吗???
我在项目中添加了:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freeer-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
7个jar。用到Eclipse版本是:
Version: Helios Service Release 1
Build id: 20100917-0705
那位大侠给支支招,谢谢了!
严重: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
我用的是Eclipse Java EE IDE for Web Developers.
Struts2 改成struts2 包名怎么可能大写。。
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <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> <welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list></web-app>
<filter-name>webwork</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>包不知道对没有,<%@taglib uri="/struts-tags" prefix="s"%> 这里有红色波浪线
需要导入这几个包
commons-lang3-3.1.jar
freeer-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.4.jar
xwork-core-2.3.4.jar
http://www.programcreek.com/2012/03/java-lang-classnotfoundexception-org-apache-struts2-dispatcher-filterdispatcher/
找到了答案。
struts2只能把jar粘贴到WEB_INF下面的lib目录才可以正常运行,通过eclipse创建的classpath运行不了。我也不知道什么原因。但是我这么做,不再报这个异常了,项目正常启动和访问。