[标题]:[转]Struts2.1.6 - Unable to load configuration
[时间]:2009-7-7
[摘要]:Unable to load configuration. - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
[关键字]:struts、spring、configuration、struts-default、MVC、Apache,框架、SSH
[环境]:Struts2.1.6、JDK6、Tomcat6
[作者]:Winty (wintys@gmail.com) http://www.blogjava.net/wintys
[错误]:
在Web Project中加入了以下5个Struts2核心jar:
struts2-core-2.1.6.jar
xwork-2.1.2.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
commons-logging-1.0.4.jar
启动Tomcat时,提示如下错误信息:
2009-7-7 19:55:12 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter MyStruts2
Unable to load configuration. - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
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:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
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:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
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:710)
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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load bean: type:com.opensymphony.xwork2.UnknownHandler class:org.apache.struts2.convention.ConventionUnknownHandler - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:222)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:165)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 30 more
Caused by: Bean type interface com.opensymphony.xwork2.UnknownHandler with the name default has already been loaded by bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-codebehind-plugin-2.1.6.jar!/struts-plugin.xml:29:122 - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:206)
... 33 more
2009-7-7 19:58:07 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter MyStruts2
Unable to load configuration. - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
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:4342)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1307)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1560)
at java.lang.Thread.run(Thread.java:619)
Caused by: Unable to load bean: type:com.opensymphony.xwork2.UnknownHandler class:org.apache.struts2.convention.ConventionUnknownHandler - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:222)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:165)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 17 more
Caused by: Bean type interface com.opensymphony.xwork2.UnknownHandler with the name default has already been loaded by bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-codebehind-plugin-2.1.6.jar!/struts-plugin.xml:29:122 - bean - jar:file:/F:/Web/homesite/jsp/struts/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:206)
... 20 more
[原因&解决]:
这是apache的失误。按照官方文档说明,运行Struts2必须加载5个核心jar包,也就是咱们一开始拷贝的5个jar包,如果你用的是 Struts2之前的版本是没有问题的,但是如果去下载这个新版本,就会报如上错误,因为还需要加载另外两个jar包,可是官方的说明文档没有更新。
解决方案:在Struts2的解压缩文件夹内的lib文件夹里, 我们找到下列2个jar : commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar,把他们复制到项目根目录下的"WEB-INF"lib"文件夹内。
既然少了jar,图省事把包struts lib下的jar全都复制到工程目录中。这样做又会出现类似上面的错误提示。所以如非必要,不要加载其它的jar,这大概是struts2.1.6的bug。一般只需加载以下7个jar:
struts2-core-2.1.6.jar、
xwork-2.1.2.jar、
freemarker-2.3.13.jar、
ognl-2.6.11.jar、
commons-logging-1.0.4.jar、
commons-fileupload-1.2.1.jar、
commons-io-1.3.2.jar
还有"叶现一"(http://blog.csdn.net/yexianyi/)提供的办法:将struts-2.1.6-all.zip中apps文件夹中struts2-blank-2.1.6.war文件解压。进入struts2-blank-2.1.6"WEB-INF"lib,只将该文件夹下的9个jar包导入到项目工程中即可,
其余的包如果没有用到切不可轻易导入。
[参考资料]:
[1] 严重 exception starting filter struts2 unable to load configuration : http://blog.csdn.net/cocohufei/archive/2009/05/13/4176058.aspx
[2] struts2.1.6简单的实例加载struts-default.xml的问题 : http://topic.csdn.net/u/20090212/14/4648539f-e6c1-4a1b-94b9-944712affa96.html
[3] Struts2.x异常- Unable to load configuration..../WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml : http://blog.csdn.net/yexianyi/archive/2009/02/18/3905836.aspx
[4] struts 2.1.6 "Unable to load configuration"异常 : http://blog.csdn.net/thirdprince/archive/2009/04/06/4052027.aspx
分享到:
相关推荐
struts2.1.6-config-browser-plugin.api.chm struts2.1.6-config-browser-plugin.api.chm
Struts2.1.6-Lib: 深入理解Struts2框架核心与库文件 Struts2是一个流行的开源MVC(Model-View-Controller)框架,它为Java Web应用提供了一种强大的架构支持。Struts2.1.6是该框架的一个版本,其lib目录下的jar包...
在Struts2.1.6-apps这个压缩包中,包含了多个示例应用,这些应用能够帮助初学者理解Struts2的核心概念和实际应用。 首先,让我们深入了解一下Struts2框架的关键特性: 1. **Action与Result**:在Struts2中,Action...
struts2.1.6-codebehind-plugin.api.chm 自己打包 javadoc文档
Struts2.1.6-all.zip 是一个包含Struts2框架版本2.1.6所有库文件的压缩包,主要用于Java Web开发。Struts2是一个开源的MVC(Model-View-Controller)框架,它继承了经典的Struts1框架,并在功能、性能和灵活性上进行...
Struts2.1.6-Lib是一个用于Java Web开发的压缩包,包含了Struts2框架的1.6版本的核心库文件。Struts2是Apache软件基金会的一个开源项目,它是一个强大的MVC(Model-View-Controller)框架,用于构建可维护、可扩展且...
Struts2.1.6-jar包是Apache Struts框架的一个特定版本,它包含了用于构建MVC(模型-视图-控制器)Web应用程序所需的所有组件。这个版本的Struts是基于Java开发的,旨在提供一个强大、灵活且可扩展的框架,帮助开发者...
这是一个优秀的项目,很好的框架,主要用于JavaWeb,最新的也已经在官网上有了,我发在这里的是一个文本文档,里面有链接下载这个文件,这个比较早的版本可以用于学习。
Struts 2.1.6 是一个非常重要的版本,在Java Web开发中占据着核心地位,尤其是在基于MVC(Model-View-Controller)架构的应用程序设计中。Struts 2 是Apache软件基金会的一个开源项目,它是Struts 1的升级版,提供了...
在深入探讨"structs-2.1.6-all"这一主题前,我们首先需要了解其核心概念。“structs-2.1.6-all”通常指的是一个软件包或库的版本名称,具体而言,在IT领域中,它可能代表了一个用于处理结构化数据的工具集或者框架的...
struts-2.1.6-all.rar 马老师视频使用。官网上找不到了,传上来给有需要的同学。 由于上传文件大小限制,这是struts-2.1.6-all.part2.rar,解压还需下载struts-2.1.6-all.part1.rar
Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
struts2-core-2.1.6.jar, struts2-core-2.1.8.1-sources.jar, struts2-core-2.1.8.1.jar, struts2-core-2.1.8.jar, struts2-core-2.2.1.1.jar, struts2-core-2.2.1.jar, struts2-core-2.2.3.1.jar, struts2-core-...
struts2-struts1-plugin-2.1.6.jar
struts-2.1.6 找了好久,需要的赶紧下载。
《Elastic-Job Lite Console 2.1.6-SNAPSHOT 源码解析与应用探索》 Elastic-Job Lite Console 是一个基于Elastic-Job框架开发的定时任务控制台,由当当网推出,旨在为企业级分布式系统提供简单易用、功能强大的定时...
这个是由:struts2.1.6 - spring2.5.6 - hibernate3.3.1 - oracle10g 写的简单的增删改查功能,希望给有用的人,由于reg注册实现4个功能,所以login就没有写登录的功能了。由于小弟需要点分,所以只设置了2分,谢谢...
struts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jar...
在"struts-2.1.6-all-src.zip"这个压缩包中,我们获得了Struts2框架的源代码,这对于开发者来说是一份宝贵的学习和调试资源。源码包含了框架的核心组件、插件以及相关的配置文件,让我们能够深入了解其内部工作原理...