I remember long ago I had a similar problem, where it appeared that a jar of
jars was "working' as you basically describe, but for others running my
code, it didn't "work".

The problem:  I had overlooked the fact that during my runtime invocation,
the jars were actually on the classpath via oversight.  And in fact, the
jars inside the jar file were not responsible for the success of the runtime
instance at all.

I'm not saying this is your problem, but it can happen.  I know of no
instances where a classloader will look inside a jar for other jar files.
You can write a classloader to do this, but generally it cannot be assumed
of an arbitrary classloader working on your behalf.

On 5/22/06, Asaf Lahav <[EMAIL PROTECTED]> wrote:

Then there is something I don't understand or don't know about... because
when I run the same code under a regular environment (which is not under
the
tomcat webclassloader) it works perfectly... and I have the same set of
dependencies as I have in the tomcat environment.





In one environment, the class loader seems to be aware of the jars that
are
contained inside the aspectJ jar, in the other environment (which is the
tomcat), the class loader is not aware of the jars that are contained
inside
the aspectj jar.

What is it that makes the difference?





Asaf Lahav



VP R&D, Prima Grid LTD.



Cellular:  972-54-4717955



Phone:   972-3-6540255



Fax:       972-3-6540254









-----Original Message-----
From: Tim Funk [mailto:[EMAIL PROTECTED]
Sent: Monday, May 22, 2006 7:52 PM
To: Tomcat Users List
Subject: Re: Classloader bug?



Let me try again ...



Its not a bug. A jar can contain resources, but if it contains other jars
-

they will be treated like any other resource in jar file. The classloader

does not recursively load jars inside of jars.



-Tim



Asaf Lahav wrote:

> Well,

>

> A jar may contain any types of resources.

>

> Further more,

>

> When I'm using the aspectj jar from regular environment (which is not
using

> the tomcat webclassloader) it works like a charm...

>

> I would expect the webclassloader to behave just as the native java

> classloader does.

>

>

>

>

>

> Asaf Lahav

>

>

>

> VP R&D, Prima Grid LTD.

>

>

>

> Cellular:  972-54-4717955

>

>

>

> Phone:   972-3-6540255

>

>

>

> Fax:       972-3-6540254

>

>

>

>

>

>

>

>

>

> -----Original Message-----

> From: Tim Funk [mailto:[EMAIL PROTECTED]

> Sent: Monday, May 22, 2006 7:28 PM

> To: Tomcat Users List

> Subject: Re: Classloader bug?

>

>

>

> Its not a bug. A jar needs to contain classes, not other jars.

>

>

>

> -Tim

>

>

>

> Asaf Lahav wrote:

>

>

>

>

>>

>

>

>

>>I think encountered a tomcat classloader bug.

>

>

>

>>I have a jar file that contains several other jar files.

>

>

>

>>I expected the classloader to be aware of the jar files that are
packaged

>

>

>>inside it.

>

>

>

>>Anyhow,

>

>

>

>>I kept getting classnotfound exceptions until I extracted the contained

>

> jars

>

>

>>out from the containing jar.

>

>

>

>>

>

>

>

>>p.s,

>

>

>

>>the problematic jar file is:

>

>

>

>>aspectj-1.5.0.jar (of aspectJ)

>

>

>

>

>

>

> ---------------------------------------------------------------------

>

> 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]





--
Mark
AE6RT

Reply via email to