Hi, I am trying to deploy a EAR file which contains two WAR files, each of which uses Struts 2 into JBoss, but it fails due to a class loading problem. The exception I get is as follows:
10:52:46,698 ERROR [[/xxxx-reservation-web]] Exception starting filter struts2 Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/opt/jboss/jboss-4.2.3.GA/server/default/tmp/deploy/tmp44322xxxx-crs.ear-contents/xxxx-reservation-web-0.0.1-SNAPSHOT-exp.war/WEB-INF/lib/struts2-core-2.0.14.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:205) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275) ...... Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/opt/jboss/jboss-4.2.3.GA/server/default/tmp/deploy/tmp44322xxxx-crs.ear-contents/xxxx-maintenance-web-0.0.1-SNAPSHOT-exp.war/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72 - bean - jar:file:/opt/jboss/jboss-4.2.3.GA/server/default/tmp/deploy/tmp44322xxxx-crs.ear-contents/xxxx-reservation-web-0.0.1-SNAPSHOT-exp.war/WEB-INF/lib/struts2-core-2.0.14.jar!/struts-default.xml:30:72 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:193) ... 145 more In each WAR file's WEB-INF/lib folder, the struts2 jar files are present. I have used JBoss loader repositories at EAR level and WAR level to scope the class loading. But still, it seems that one WAR file can see the libraries in other WAR file's lib folder. The JBoss class loading configurations are as follows : jboss-app.xml (in EAR) : <jboss-app> <loader-repository> com.xxxx.xxxx.crs:loader=xxxx-crs.ear <loader-repository-config>java2ParentDelegation=false </loader-repository-config> </loader-repository> </jboss-app> jboss-web.xml (in each WAR, with different repository ids) <jboss-web> <class-loading java2ClassLoadingCompliance="false"> <loader-repository> com.xxxx.xxxx.crs.maintenance:loader=xxxx-maintenance-web.war <loader-repository-config>java2ParentDelegation=false</loader-repository-config> </loader-repository> </class-loading> </jboss-web> My environment is as follows : JBoss AS 4.2.3 GA Struts 2.0.14 (and related libraries) Any assistance in resolving this issue would be much appreciated. Thanks in advance. Regards, Yohan. -- View this message in context: http://www.nabble.com/Struts-2-multiple-wars-in-single-ear%2C-under-JBoss-tp25710696p25710696.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org