`

struts2下的“Exception starting filter struts2”错误的问题

阅读更多

最近开始学习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

分享到:
评论
1 楼 somefuture 2009-10-03  
我也出现了这种问题,但是我的jar包只考了7个。奇怪啊。

相关推荐

    SSH2报错xception starting filter struts2

    严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    配置struts2常见错误

    Console 错误:Exception starting filter struts2 **问题描述**: ``` Nomapping found for dependency[type=com.opensymphony.xwork2.ObjectFactory,name='default'] in public void ...

    struts2开发遇到的问题

    7. **严重:Exception starting filter struts2,Error filterStart,Context [/struts2] startup failed due to previous errors** 这个严重错误通常涉及到Struts2配置问题,可能的原因包括: - `struts.xml`中的...

    初学者用的几个struts2的基本包

    第一次做struts2的程序,却遇到了Exception starting filter struts2的问题,追其原因,其中一个很大的原因是其官方网站上下的那几个包不行。于是费劲千辛万苦找到了这几个好使的包!

    struts2错误集合.txt

    错误信息:“Exception starting filter struts2”。这可能是由于`web.xml`中未正确配置Struts2过滤器,或者类路径中缺少必要的jar文件。 8. **结果类型定义错误:** 错误信息:“There is no result type defined...

    struts2.3.8配置教程

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;url-pattern&gt;/* &lt;/filter-mapping&gt; ``...

    Tomcat部署项目时报错解决方案

    在部署Java Web应用程序到Apache Tomcat服务器的过程中,经常会遇到各种各样的问题,其中一种常见的错误就是启动时出现“严重:Exception starting filters struts2”这样的异常信息。本文将详细解析这个错误的原因,...

    java异常解决方案.docx

    * Exception starting filter struts2 The action name cannot be the same as the action suffix [Action] + 解决方案:检查 Struts2 的 Action 定义,是否存在名称冲突的问题,尝试使用唯一的名称来解决问题。 * ...

    java 遇到的各种异常

    Exception starting filter struts2: The action name cannot be the same as the action suffix [Action]** - **异常描述**:Struts2 Action命名冲突。 - **原因分析**:Action名称与Action后缀名重复。 - **解决...

Global site tag (gtag.js) - Google Analytics