You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by David Sharp <ds...@gmail.com> on 2009/09/22 22:09:17 UTC

Missing configuration resource for path /org/apache/struts/tiles/chain-config.xml when deploying on jboss using struts 1.3.8

I'm hoping someone here can help me figure out what is going on with
my project.  I have an ear structured as follows (apologies for the
ASCII art tree diagrams):

edalrs.ear
|-lib
|  |-struts-core.jar
|  |-struts-extras.jar
|-edalrs-web.war

The war file has the following structure:

edalrs-web.war
|-WEB-INF
|  |-lib
|     |-struts-taglib.jar
|     |-struts-tiles.jar
|-META-INF
  |-MANIFEST.MF

The  MANIFEST.MF has the following classpath entries:
lib/struts-core.jar lib/struts-extras.jar

When deployed on websphere, the application runs fine.  When deployed
on jboss, I get the message:  "Missing configuration resource for path
/org/apache/struts/tiles/chain-config.xml".

I've modified the ActionServlet class to spit out some debugging data
and here is what I got:
14:23:12,019 INFO splitting and resolving paths:
'/org/apache/struts/tiles/chain-config.xml'
14:23:12,019 INFO Unable to locate
/org/apache/struts/tiles/chain-config.xml in the servlet context,
trying classloader.
14:23:12,019 INFO calling internal.getMessage()
14:23:12,035 WARN  Resource
org/apache/struts/action/ActionResources_en_US.properties Not Found.
14:23:12,051 WARN  Resource
org/apache/struts/action/ActionResources_en.properties Not Found.
14:23:12,051 INFO ClassLoader =
org.jboss.web.tomcat.service.WebCtxLoader$ENCLoader@35543554
14:23:12,051 INFO this.getClass().getClassLoader() =
org.jboss.mx.loading.UnifiedClassLoader3@65126512{
url=file:/C:/softwaredistribution/jboss-4.2.3.GA/server/default/tmp/deploy/tmp49506eDalrs-ear-0.0.1-SNAPSHOT.ear
,addedOrder=47}
14:23:12,051 INFO Path = /org/apache/struts/tiles/chain-config.xml
14:23:12,051 INFO Msg = 'Missing configuration resource for path
/org/apache/struts/tiles/chain-config.xml'

I have specified a <loader-repository> in my jboss-app.xml to turn on
parent-delegation as follows:

<jboss-app>
   <loader-repository>
	com.acme.edalrs:loader=eDalrs-ear.ear
   <loader-repository-config>java2ParentDelegation=true</loader-repository-config>
   </loader-repository>
</jboss-app>

If I'm not mistaken, the web classloader should delegate to its parent
(the EAR classloader) to try and load the resources.  The parent
should fail, and then the web classloader should load the file out of
the WEB-INF/lib/struts-tiles.jar.

This isn't happening, and it's driving me crazy.  I appreciate any
help anyone can shed.  The only reason we have the taglib and tiles
jars in the war is so that the .tld files for the tag libraries can be
found.  I've tried extracting the TLDs from the jar, and placing them
in WEB-INF, and then placing the taglib and tiles jars into the ear
with the rest of struts, but the behavior is the same.

Thanks,
Dave
---
There are 10 types of people in the world, those that understand
binary, and those that don't.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org