Pete,

----- Original Message -----
From: "Peter Donald" <[EMAIL PROTECTED]>
>
> It is by jdks design that this is done - I have run into it heaps in past
> (Avalon/Phoenix was historically littered with hacks to force static
> resolution and initialization).
>
> One of the reasons I wanted resolution of all classes at loading time -
it
> removes this problem. The only way I know how to do it is to use
>
> Class.forName( "com.biz.Foo", true, null );
> or
> Class.forName( "com.biz.Foo", true, myClassLoader );
>
> Which was -1ed in the vote IIRC ... ;)
>

Resolution is not the issue, I believe. I experimented by setting the
AntClassLoader to always resolve regardles of whether it was requested by
the caller. It made no difference - the static initialisers were not run.

BTW, why did you say class resolution when you really meant class
initialization?

> * force resolution of classes on loading to identify classloader
>   issues early. (At least in global classloader).

I do not believe resolveClass() and the initialize parameter of
Class.forName achieve the same thing (linking v initialization).  Besides
the latter is JDK1.2+ so generally not an option for Ant 1.x.

Conor


Reply via email to