diff --git a/proposal/embed/src/java/org/apache/tools/ant/taskdefs/SystemPath.java b/proposal/embed/src/java/org/apache/tools/ant/taskdefs/SystemPath.java index 6f6cb1684..95c75130d 100644 --- a/proposal/embed/src/java/org/apache/tools/ant/taskdefs/SystemPath.java +++ b/proposal/embed/src/java/org/apache/tools/ant/taskdefs/SystemPath.java @@ -120,24 +120,29 @@ public class SystemPath extends Task { */ private void initSystemLoader(Path path) { try { - if( project.getReference( SYSTEM_LOADER_REF ) != null ) - return; // already done that. + //if( project.getReference( SYSTEM_LOADER_REF ) != null ) + // return; // already done that. // reverse loader - AntClassLoader acl=new AntClassLoader( this.getClass().getClassLoader(), true ); - acl.addLoaderPackageRoot( "org.apache.tools.ant.taskdefs.optional"); - project.addReference( SYSTEM_LOADER_REF, acl ); - - + AntClassLoader acl=(AntClassLoader)project.getReference(SYSTEM_LOADER_REF); + if( acl==null ) { + acl=new AntClassLoader( this.getClass().getClassLoader(), true ); + acl.addLoaderPackageRoot( "org.apache.tools.ant.taskdefs.optional"); + project.addReference( SYSTEM_LOADER_REF, acl ); + } + + String list[]=path.list(); for( int i=0; i