Put the JARs in the WEB-INF/lib dir! 

-----Original Message-----
From: Steph Richardson [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 18, 2003 11:34 AM
To: Tomcat Users List
Subject: WebappClassLoader won't load resource from jar file ?!?


I have a web app containing resource files in several jar files, but I am
unable to access the resources at runtime unless they are exploded into the
classes directory.

When trying to access the resource files using
ClassLoader.getResourceAsStream( "/meta-inf/com/kvasar/data.xml" ) I always
get null returned, even though that resource does exist inside a jar file in
the web app's WEB-INF/lib directory.

If I extract that resource to the classes directory, so I now have
WEB-INF/classes/meta-inf/com/kvasar/data.xml, then I get it fine using the
exact same path and ClassLoader - it works fine.

The Tomcat Class Loader HOW-TO is telling me that it should find it in the
jar.

I have this problem on Tomcat 4.0.1 & 4.1.24, Win 2K The ClassLoader
instance I am using for the getResourceAsStream() calls, is one that I get
from one of my classes that is deployed to my webapp in a war file. Logging
a toString() on this ClassLoader is shown below. Is it meaningful that it
doesn't list my jar files in it's list of repositories ??



----------------------------------------------------------------------------
---------------
WebappClassLoader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[javax.mail, implementationVendor=Sun Microsystems, Inc.,
implementationVendorId=com.sun, implementationVer sion=1.2,
specificationVendor=Sun Microsystems, Inc., specificationVersion=1.2]
  delegate: true
  repositories:
    file:C:\Tomcat.4.0-retired\classes\
    file:C:\Tomcat.4.0-retired\lib\activation.jar
    file:C:\Tomcat.4.0-retired\lib\catalina.jar
    file:C:\Tomcat.4.0-retired\lib\jakarta-oro-2.0.2-dev-2.jar
    file:C:\Tomcat.4.0-retired\lib\jakarta-regexp-1.2.jar
    file:C:\Tomcat.4.0-retired\lib\mail.jar
    file:C:\Tomcat.4.0-retired\lib\mailet.jar
    file:C:\Tomcat.4.0-retired\lib\xml4j.jar
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[javax.mail, implementationVendor=Sun Microsystems, Inc.,
implementationVendorId=com.sun, implementationVer sion=1.2,
specificationVendor=Sun Microsystems, Inc., specificationVersion=1.2]
  delegate: true
  repositories:
    file:C:\Tomcat.4.0-retired\common\classes\
    file:C:\Tomcat.4.0-retired\common\lib\activation.jar
    file:C:\Tomcat.4.0-retired\common\lib\jasper-compiler.jar
    file:C:\Tomcat.4.0-retired\common\lib\jasper-runtime.jar
    file:C:\Tomcat.4.0-retired\common\lib\jta.jar
    file:C:\Tomcat.4.0-retired\common\lib\mail.jar
    file:C:\Tomcat.4.0-retired\common\lib\naming-common.jar
    file:C:\Tomcat.4.0-retired\common\lib\naming-factory.jar
    file:C:\Tomcat.4.0-retired\common\lib\naming-resources.jar
    file:C:\Tomcat.4.0-retired\common\lib\pbclient.jar
    file:C:\Tomcat.4.0-retired\common\lib\servlet.jar
    file:C:\Tomcat.4.0-retired\common\lib\tools.jar
    file:C:\Tomcat.4.0-retired\common\lib\tyrex-0.9.7.0.jar
  required:
----------> Parent Classloader:
[EMAIL PROTECTED]









Help !
Thanks !

Steph


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to