For F: perhaps try to avoid big-ball-o-mud, and filter out the xxx.jar from ext delegates.
This is the code in BaseCLDomain that should help:
if (policy.isImportAll())
allExports = true;
}
// Next we try the old "big ball of mud" model
if (allExports)
{
loader = findLoaderInExports(classLoader, name, trace);
if (loader != null)
return loader;
}
else if (trace)
log.trace(this + " not loading " + name + " from all exports");
// Next we try the imports
if (info != null)
{
loader = findLoaderInImports(info, name, trace);