错误如下:
Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
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:223)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:304)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:77)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3600)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4189)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1112)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/classes/struts-default.xml:30:69 - bean - jar:file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)
... 33 more
2010-5-25 10:18:12 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-5-25 10:18:12 org.apache.catalina.core.StandardContext start
严重: Context [/tjsm] startup failed due to previous errors
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.XmlWebApplicationContext).
log4j:WARN Please initialize the log4j system properly.大家帮忙看看是什么问题?怎么解决呀?
我用到的开发框架和工具是:Myeclipse7.0 + tomcat5.5 + hibernate3.2 + spring2.5 + struts2.0,数据库是SQL Server2000,安装补丁包SP4。

解决方案 »

  1.   

    还是把错误代码用google一下吧
      

  2.   

    Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/classes/struts-default.xml:30:69 - bean - jar:file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193)包冲突.! 工具添加支持,很多情况都会发生此情况.! 建议手动加包.!
      

  3.   

    /F:/Tomcat%205.5/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72
    目录有中文字符?
      

  4.   

    你的加载的包有误!
    2010-5-25 10:18:12 org.apache.catalina.core.StandardContext start
    严重: Error filterStart
    2010-5-25 10:18:12 org.apache.catalina.core.StandardContext start
    严重: Context [/tjsm] startup failed due to previous errors
      

  5.   

    我导入的关于struts的包有以下几个:
    commons-logging-1.0.4.jar
    freeer-2.3.8.jar
    ognl-2.6.11.jar
    struts2-core-2.0.11.2.jar
    struts2-spring-plugin-2.0.11.2.jar
    xwork-2.0.5.jar这几个包有问题吗?
      

  6.   


    简单的,留下
    (xwork-2.0.5.jar、
    commons-logging-1.0.4.jar、
    freeer-2.3.8.jar、
    ognl-2.6.11.jar、
    struts2-core-2.0.11.2jar)就可以运行了.Tomcat安装路径最好不要有中文和空格,用'_'代替空格吧..
      

  7.   

    struts2-spring-plugin-2.0.11.2.jar去掉,不懂别乱加,这个是和Spring配合时才能用,否则必死。因为struts2的基础webwork2中的Ioc容器本身就实现了。
      

  8.   

    http://zhanjianhua.javaeye.com/blog/644731试试这个,这个上面说清空所以缓存,再部署,你删掉webapps里面你的项目再试试...
      

  9.   

    Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/F:/Tomcat%205.5/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:30:72删掉一个应该就行了
      

  10.   

    我也用spring了,所以才需要那个包的
      

  11.   

    我试着把struts2-spring-plugin-2.0.11.2.jar去掉还是同样的错误提示。
    tomcat安装路径是F:\Tomcat 5.5
      

  12.   

    我重现下载了struts2.0.14的包,导入后还是同样的问题。包如下:
    commons-logging-1.0.4.jar
    freeer-2.3.8.jar
    ognl-2.6.11.jar
    struts2-core-2.0.14.jar
    struts2-spring-plugin-2.0.14.jar
    xwork-2.0.7.jar
      

  13.   

    楼主在使用Spring 2.5嘛,为什么不加呢?有如下建议:
    需要struts-spring插件,但是插件加入后,不用再在struts的配置文件配置Spirng的ObjectFactory,因为Struts 2采用了如同Eclipse的插件加载机制,所以只要将spring插件加入后,Struts 2便可以自动发现。建议看一下struts2-spring插件中包含的内容。
      

  14.   


    楼上的,你的意思是struts2会自动配置和spring的连接,我的struts-default.xml中不需要在配置ObjectFactory了是吗?
      

  15.   

    按照16楼的说法,我注释掉错误的地方,再启动时报错如下:
    The package name 'struts-default' at location package - jar:file:/F:/Tomcat/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:74:52 is already been used by another package at location package - file:/F:/Tomcat/webapps/tjsm/WEB-INF/classes/struts-default.xml:119:49 - package - jar:file:/F:/Tomcat/webapps/tjsm/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:74:52
    这个怎么解决呀?
    我的struts-default.xml中部分源码如下:
    <package name="struts-default" abstract="true">
    <result-types>
    <result-type name="chain"
    class="com.opensymphony.xwork2.ActionChainResult" />
    <result-type name="dispatcher"
    class="org.apache.struts2.dispatcher.ServletDispatcherResult"
    default="true" />
    <result-type name="freeer"
    class="org.apache.struts2.views.freeer.FreeerResult" />
    <result-type name="httpheader"
    class="org.apache.struts2.dispatcher.HttpHeaderResult" />
    <result-type name="redirect"
    class="org.apache.struts2.dispatcher.ServletRedirectResult" />
    <result-type name="redirectAction"
    class="org.apache.struts2.dispatcher.ServletActionRedirectResult" />
    <result-type name="stream"
    class="org.apache.struts2.dispatcher.StreamResult" />
    <result-type name="velocity"
    class="org.apache.struts2.dispatcher.VelocityResult" />
    <result-type name="xslt"
    class="org.apache.struts2.views.xslt.XSLTResult" />
    <result-type name="plainText"
    class="org.apache.struts2.dispatcher.PlainTextResult" />
    <!-- Deprecated name form scheduled for removal in Struts 2.1.0. The camelCase versions are preferred. See ww-1707 -->
    <result-type name="redirect-action"
    class="org.apache.struts2.dispatcher.ServletActionRedirectResult" />
    <result-type name="plaintext"
    class="org.apache.struts2.dispatcher.PlainTextResult" />
    </result-types>
    <interceptors>
    <interceptor name="alias"
    class="com.opensymphony.xwork2.interceptor.AliasInterceptor" />
    <interceptor name="autowiring"
    class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor" />
    <interceptor name="chain"
    class="com.opensymphony.xwork2.interceptor.ChainingInterceptor" />
    <interceptor name="conversionError"
    class="org.apache.struts2.interceptor.StrutsConversionErrorInterceptor" />
    <interceptor name="cookie"
    class="org.apache.struts2.interceptor.CookieInterceptor" />
    <interceptor name="createSession"
    class="org.apache.struts2.interceptor.CreateSessionInterceptor" />
    <interceptor name="debugging"
    class="org.apache.struts2.interceptor.debugging.DebuggingInterceptor" />
    <interceptor name="externalRef"
    class="com.opensymphony.xwork2.interceptor.ExternalReferencesInterceptor" />
    <interceptor name="execAndWait"
    class="org.apache.struts2.interceptor.ExecuteAndWaitInterceptor" />
    <interceptor name="exception"
    class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor" />
    <interceptor name="fileUpload"
    class="org.apache.struts2.interceptor.FileUploadInterceptor" />
    <interceptor name="i18n"
    class="com.opensymphony.xwork2.interceptor.I18nInterceptor" />
    <interceptor name="logger"
    class="com.opensymphony.xwork2.interceptor.LoggingInterceptor" />
    <interceptor name="modelDriven"
    class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor" />
    <interceptor name="scopedModelDriven"
    class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor" />
    <interceptor name="params"
    class="com.opensymphony.xwork2.interceptor.ParametersInterceptor" />
    <interceptor name="prepare"
    class="com.opensymphony.xwork2.interceptor.PrepareInterceptor" />
    <interceptor name="staticParams"
    class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor" />
    <interceptor name="scope"
    class="org.apache.struts2.interceptor.ScopeInterceptor" />
    <interceptor name="servletConfig"
    class="org.apache.struts2.interceptor.ServletConfigInterceptor" />
    <interceptor name="sessionAutowiring"
    class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor" />
    <interceptor name="timer"
    class="com.opensymphony.xwork2.interceptor.TimerInterceptor" />
    <interceptor name="token"
    class="org.apache.struts2.interceptor.TokenInterceptor" />
    <interceptor name="tokenSession"
    class="org.apache.struts2.interceptor.TokenSessionStoreInterceptor" />
    <interceptor name="validation"
    class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor" />
    <interceptor name="workflow"
    class="com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor" />
    <interceptor name="store"
    class="org.apache.struts2.interceptor.MessageStoreInterceptor" />
    <interceptor name="checkbox"
    class="org.apache.struts2.interceptor.CheckboxInterceptor" />
    <interceptor name="profiling"
    class="org.apache.struts2.interceptor.ProfilingActivationInterceptor" />
    <interceptor name="roles"
    class="org.apache.struts2.interceptor.RolesInterceptor" />
    <!-- 登陆与鉴权拦截器 -->
    <interceptor name="loginInterceptor"
    class="manager.student.cn.edu.core.interceptor.LoginInterceptor" /> <!-- Basic stack -->
    <interceptor-stack name="basicStack">
    <interceptor-ref name="exception" />
    <interceptor-ref name="servletConfig" />
    <interceptor-ref name="prepare" />
    <interceptor-ref name="checkbox" />
    <interceptor-ref name="params" />
    <interceptor-ref name="conversionError" />
    </interceptor-stack> <!-- Sample validation and workflow stack -->
    <interceptor-stack name="validationWorkflowStack">
    <interceptor-ref name="basicStack" />
    <interceptor-ref name="validation" />
    <interceptor-ref name="workflow" />
    </interceptor-stack> <!-- Sample file upload stack -->
    <interceptor-stack name="fileUploadStack">
    <interceptor-ref name="fileUpload" />
    <interceptor-ref name="basicStack" />
    </interceptor-stack> <!-- Sample model-driven stack  -->
    <interceptor-stack name="modelDrivenStack">
    <interceptor-ref name="modelDriven" />
    <interceptor-ref name="basicStack" />
    </interceptor-stack> <!-- Sample action chaining stack -->
    <interceptor-stack name="chainStack">
    <interceptor-ref name="chain" />
    <interceptor-ref name="basicStack" />
    </interceptor-stack> <!-- Sample i18n stack -->
    <interceptor-stack name="i18nStack">
    <interceptor-ref name="i18n" />
    <interceptor-ref name="basicStack" />
    </interceptor-stack> <interceptor-stack name="paramsPrepareParamsStack">
    <interceptor-ref name="exception" />
    <interceptor-ref name="alias" />
    <interceptor-ref name="params" />
    <interceptor-ref name="servletConfig" />
    <interceptor-ref name="prepare" />
    <interceptor-ref name="i18n" />
    <interceptor-ref name="chain" />
    <interceptor-ref name="modelDriven" />
    <interceptor-ref name="fileUpload" />
    <interceptor-ref name="checkbox" />
    <interceptor-ref name="staticParams" />
    <interceptor-ref name="params" />
    <interceptor-ref name="conversionError" />
    <interceptor-ref name="validation">
    <param name="excludeMethods">
    input,back,cancel
    </param>
    </interceptor-ref>
    <interceptor-ref name="workflow">
    <param name="excludeMethods">
    input,back,cancel
    </param>
    </interceptor-ref>
    </interceptor-stack> <interceptor-stack name="defaultStack">
    <interceptor-ref name="exception" />
    <interceptor-ref name="alias" />
    <interceptor-ref name="servletConfig" />
    <interceptor-ref name="prepare" />
    <interceptor-ref name="i18n" />
    <interceptor-ref name="chain" />
    <interceptor-ref name="debugging" />
    <interceptor-ref name="profiling" />
    <interceptor-ref name="scopedModelDriven" />
    <interceptor-ref name="modelDriven" />
    <interceptor-ref name="fileUpload" />
    <interceptor-ref name="checkbox" />
    <interceptor-ref name="workflow">
    <param name="excludeMethods">
    input,back,cancel,browse
    </param>
    </interceptor-ref>
    <!-- 自定义 -->
    <interceptor-ref name="loginInterceptor" />
    </interceptor-stack> <!-- The completeStack is here for backwards compatibility for
    applications that still refer to the defaultStack by the
    old name -->
    <interceptor-stack name="completeStack">
    <interceptor-ref name="defaultStack" />
    </interceptor-stack> <!-- Sample execute and wait stack.
    Note: execAndWait should always be the *last* interceptor. -->
    <interceptor-stack name="executeAndWaitStack">
    <interceptor-ref name="execAndWait">
    <param name="excludeMethods">
    input,back,cancel
    </param>
    </interceptor-ref>

    </interceptor-stack> <!-- Deprecated name forms scheduled for removal in Struts 2.1.0. The camelCase versions are preferred. See ww-1707 -->
    <interceptor name="external-ref"

    </package>
      

  16.   

    struts2-core-2.0.14这包中就有struts-default.xml了 你的配置文件中有 叫struts-default.xml的吧?重名了!!!!!