SEVERE: Exception starting filter struts2 Unable to load configuration. - bean - jar:file:struts2-core-2.2.3.jar!/struts-default.xml:29:72

31,214

Solution 1

Your problem has been mentioned in stack trace:

Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has
 already been loaded by bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF
/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72 - bean - jar:file:/F:/m/.metadata
/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72

It seems that you have multiple copies of struts2-core-*.jar in your WEB-INF/lib directory. I think you should only have one of them. Do some cleanup. Also see if your .classpath does not have duplicate entries.

Solution 2

This is a jar issue. You need to download all the latest struts jars.

Try the following jar libraries:

  • common-chain-12.jar
  • common-fileupload-1.3.1.jar
  • commons-io-2.2.jar
  • commons-logging-api-1.1.jar

All common jars (freemarker.jar, javaassist.jar, ognl.jar, xwork-core.jar, struts2-core.jar) should have the latest version.

Especially ensure the xwork and struts2 core jars have the same version. These jar's are no longer optional after Java 8.

Share:
31,214
Rahul Shivhare
Author by

Rahul Shivhare

Updated on October 01, 2020

Comments

  • Rahul Shivhare
    Rahul Shivhare over 3 years

    struts.xml

    struts.xml File i have written this

        <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">
        
        <struts>
            <constant name="struts.devMode" value="true" />
        
            <package name="default" extends="struts-default" namespace="/">
        
            </package>
        </struts>
    

    web.xml File i have written this

        <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
            http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
            <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.jsp</welcome-file>
            </welcome-file-list>
        </web-app>
    

    jar file i took in web-inf/lib

    • commons-beanutils-1.7.0.jar
    • commons-collections-3.2.1.jar
    • commons-digester-1.8.jar
    • commons-fileupload-1.2.2.jar
    • commons-io-2.0.1.jar
    • commons-lang-2.5.jar
    • commons-logging-1.1.1.jar
    • commons-validator-1.3.1.jar
    • freemarker-2.3.16.jar
    • ognl-3.0.1.jar
    • struts2-core-2.2.3.jar
    • xwork-core-2.2.3.jar

    when I am going to run this in eclispe that this will error

    Errors

    >>>SEVERE: Dispatcher initialization failed
    >>>Unable to load configuration. - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
    >>> at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
    >>> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
    >>> at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
    >>> at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    >>> 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: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)
    >>>Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
    >>> at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
    >>> at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
    >>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
    >>> ... 31 more
    >>>Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72 - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
    >>> ... 34 more
    >>>Jan 30, 2014 11:57:43 AM org.apache.catalina.core.StandardContext filterStart
    >>>SEVERE: Exception starting filter struts2
    >>>Unable to load configuration. - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
    >>> at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
    >>> at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    >>> 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: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)
    >>>Caused by: Unable to load configuration. - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
    >>> at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
    >>> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
    >>> ... 29 more
    >>>Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
    >>> at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
    >>> at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
    >>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
    >>> ... 31 more
    >>>Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72 - bean - jar:file:/F:/m/.metadata/.me_tcat/webapps/project/WEB-INF/lib/struts2-core-2.2.3.jar!/struts-default.xml:29:72
    >>> at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
    >>> ... 34 more
    >>>Jan 30, 2014 11:57:43 AM org.apache.catalina.core.StandardContext start
    >>>SEVERE: Error filterStart
    >>>Jan 30, 2014 11:57:43 AM org.apache.catalina.core.StandardContext start
    >>>SEVERE: Context [/project] startup failed due to previous errors
    
  • Israelm
    Israelm over 8 years
    Totally correct, duplicated Jars caused me the same issue!, thanks!