diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java index bd4da260b..3379f98e7 100644 --- a/src/main/org/apache/tools/ant/AntClassLoader.java +++ b/src/main/org/apache/tools/ant/AntClassLoader.java @@ -398,6 +398,24 @@ public class AntClassLoader extends ClassLoader implements BuildListener { pathComponents.addElement(pathComponent); } + /** + * The CLASSPATH this classloader will consult. + */ + public String getClasspath() { + StringBuffer sb = new StringBuffer(); + boolean firstPass = true; + Enumeration enum = pathComponents.elements(); + while (enum.hasMoreElements()) { + if (!firstPass) { + sb.append(System.getProperty("path.separator")); + } else { + firstPass = false; + } + sb.append(((File) enum.nextElement()).getAbsolutePath()); + } + return sb.toString(); + } + /** * Set this classloader to run in isolated mode. In isolated mode, classes not * found on the given classpath will not be referred to the base class loader diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java index 5277ca98b..b99b8da31 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java @@ -564,9 +564,10 @@ public class JUnitTask extends Task { AntClassLoader cl = null; Path classpath = commandline.getClasspath(); if (classpath != null) { - log("Using CLASSPATH " + classpath, Project.MSG_VERBOSE); - cl = new AntClassLoader(null, project, classpath, false); + log("Using CLASSPATH " + cl.getClasspath(), + Project.MSG_VERBOSE); + // make sure the test will be accepted as a TestCase cl.addSystemPackageRoot("junit"); // will cause trouble in JDK 1.1 if omitted