最近开始学习struts2,配置好了运行的时候总是有如下的错误:
写道
严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/PlexusContainer;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:102)
at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:84)
at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:82)
at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:155)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:81)
at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:121)
at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.<init>(ContainerImpl.java:329)
at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:299)
at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:298)
at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:155)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:81)
at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:121)
at com.opensymphony.xwork2.inject.ContainerImpl.getConstructor(ContainerImpl.java:562)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:460)
at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
at com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:117)
at com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:115)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
at com.opensymphony.xwork2.inject.ContainerImpl.injectStatics(ContainerImpl.java:114)
at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:494)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:145)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-4-9 13:31:49 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2008-4-9 13:31:49 org.apache.catalina.core.StandardContext start
严重: Context [/HelloWorld] startup failed due to previous errors
2008-4-9 13:31:50 org.apache.coyote.http11.Http11BaseProtocol start
主要就是web.xml中的过滤器的问题,web.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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>
HelloWorld
</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</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>
出了问题就要解决啊,反复的查找了很多的资料,都没有详细说明怎么解决这个问题的,我一度都想把我的struts换成一个低版本的。偶然的一次尝试,我发现正常的lib目录下的jar文件比我的少了很多,我为了图方便是把struts下所有的jar文件都拷进了我的工程里,是不是这里出问题了呢?经过反复的尝试,终于找到了解决方案,确实是这里出了问题。罪魁祸首就是struts2-plexus-plugin-2.0.11.jar,struts-sitegraph-plugin-2.0.11.jar和struts2-spring-plugin-2.0.11.jar这三个文件,把他们从项目里删除后,就一切OK了!
但具体为什么这三个文件造成这样的错误,现在还不清楚,以后再慢慢了解了。
我的开发环境是eclipse 3.3+struts2.0.11+tomcat5.5+jdk1.6
转载自:http://blog.csdn.net/cxc3980/archive/2008/04/09/2269819.aspx
分享到:
相关推荐
严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
Console 错误:Exception starting filter struts2 **问题描述**: ``` Nomapping found for dependency[type=com.opensymphony.xwork2.ObjectFactory,name='default'] in public void ...
7. **严重:Exception starting filter struts2,Error filterStart,Context [/struts2] startup failed due to previous errors** 这个严重错误通常涉及到Struts2配置问题,可能的原因包括: - `struts.xml`中的...
第一次做struts2的程序,却遇到了Exception starting filter struts2的问题,追其原因,其中一个很大的原因是其官方网站上下的那几个包不行。于是费劲千辛万苦找到了这几个好使的包!
错误信息:“Exception starting filter struts2”。这可能是由于`web.xml`中未正确配置Struts2过滤器,或者类路径中缺少必要的jar文件。 8. **结果类型定义错误:** 错误信息:“There is no result type defined...
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* </filter-mapping> ``...
在部署Java Web应用程序到Apache Tomcat服务器的过程中,经常会遇到各种各样的问题,其中一种常见的错误就是启动时出现“严重:Exception starting filters struts2”这样的异常信息。本文将详细解析这个错误的原因,...
* Exception starting filter struts2 The action name cannot be the same as the action suffix [Action] + 解决方案:检查 Struts2 的 Action 定义,是否存在名称冲突的问题,尝试使用唯一的名称来解决问题。 * ...
Exception starting filter struts2: The action name cannot be the same as the action suffix [Action]** - **异常描述**:Struts2 Action命名冲突。 - **原因分析**:Action名称与Action后缀名重复。 - **解决...