diff --git a/WHATSNEW b/WHATSNEW index 672a8a69a..db7dd8787 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -171,6 +171,9 @@ Fixed bugs: * Target location is not set for default target. Bugzilla report 32267. +* Incorrect classloader parent in junittask when using with ant-junit.jar and junit.jar + not in the project classloader. Bugzilla report 28474. + Changes from Ant 1.6.1 to Ant 1.6.2 =================================== 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 afe38f770..b9d4fc303 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 @@ -1321,6 +1321,10 @@ public class JUnitTask extends Task { classpath.append(antRuntimeClasses); } classLoader = getProject().createClassLoader(classpath); + if (getClass().getClassLoader() != null + && getClass().getClassLoader() != Project.class.getClassLoader()) { + classLoader.setParent(getClass().getClassLoader()); + } classLoader.setParentFirst(false); classLoader.addJavaLibraries(); log("Using CLASSPATH " + classLoader.getClasspath(),