Stefan Bodewig wrote: > On Mon, 7 Apr 2003, Ignacio J. Ortega <[EMAIL PROTECTED]> wrote: > >>> Which also implies that we'll need to go through Ant's codebase and >>> replace all Class.forName() calls (we better do that anyway 8-). >> >> I didnt understand this, why? > > Class.forName will use the system classloader and not the nice little > URLClassLoader your Launcher provides. Many places inside Ant use > Class.forName, thereby assuming that everything from ANT_HOME/lib will > be available on the system classloader.
My understanding is that Class.forName uses the "current loader" - i.e. the defining loader for the class - which for most tasks is the main AntClassLoader. So far using the ClassLoader task ( which just adds jars to the main loader ) seems to work fine and never run into any problem with Class.forName not finding something. I would also add the JBoss class loading scheme - which is also adding jars, with few twists to support reloading - is also working fine with Class.forName. ( yes, I know I need to write the docs for the loader task - this is the first thing I'll do after I finish with the current tasks ). Costin