I'll restate the problem.

At startup, and goes and looks at the it's own global lib folder, and
adds any jars it finds to a brand new classloader.

Then, those jars have to be able to find *all* their dependants, using
that same new classloader.

So, the <scriptdef> classes have an internal dep on the BSFManager and
BSFExtension; those libraries have to be available to this new
classloader(or any of it's parents).

The actual language implementations, forunately, do not; they can loaded
from a build.xml controlled path.

If someone just types 'ant', which then uses the global classloader,
there is no way to add any additional libraries once the loader
heirarchy has been initialized.

This is really a problem with the way ant is designed, unfortunately.
Classloaders are always notoriously hard to get right.

Reply via email to