diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java index 8743db3f6..f921b039b 100644 --- a/src/main/org/apache/tools/ant/AntClassLoader.java +++ b/src/main/org/apache/tools/ant/AntClassLoader.java @@ -1027,7 +1027,9 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener { } } } catch (Exception e) { - log("Unable to obtain resource from " + file + ": " + e, Project.MSG_WARN); + String msg = "Unable to obtain resource from " + file + ": "; + log(msg + e, Project.MSG_WARN); + System.err.println(msg); e.printStackTrace(); } return null; diff --git a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java index 48db07248..2465eea1a 100644 --- a/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java +++ b/src/tests/junit/org/apache/tools/ant/AntClassLoaderTest.java @@ -19,7 +19,7 @@ package org.apache.tools.ant; import java.io.File; -import java.io.IOException; +import java.io.PrintStream; import org.apache.tools.ant.types.Path; /** @@ -160,12 +160,24 @@ public class AntClassLoaderTest extends BuildFileTest { myPath.setLocation(jar); getProject().setUserProperty("build.sysclasspath","ignore"); loader = getProject().createClassLoader(myPath); - loader.getResource("foo.txt"); - String log = getLog(); - int startMessage = log.indexOf("Unable to obtain resource from "); - assertTrue(startMessage >= 0); - assertTrue(log.indexOf("foo.jar", startMessage) > 0); - + PrintStream sysErr = System.err; + try { + StringBuffer errBuffer = new StringBuffer(); + PrintStream err = + new PrintStream(new BuildFileTest.AntOutputStream(errBuffer)); + System.setErr(err); + loader.getResource("foo.txt"); + String log = getLog(); + int startMessage = log.indexOf("Unable to obtain resource from "); + assertTrue(startMessage >= 0); + assertTrue(log.indexOf("foo.jar", startMessage) > 0); + log = errBuffer.toString(); + startMessage = log.indexOf("Unable to obtain resource from "); + assertTrue(startMessage >= 0); + assertTrue(log.indexOf("foo.jar", startMessage) > 0); + } finally { + System.setErr(sysErr); + } } private static class GetPackageWrapper extends ClassLoader { diff --git a/src/tests/junit/org/apache/tools/ant/BuildFileTest.java b/src/tests/junit/org/apache/tools/ant/BuildFileTest.java index 715a396da..a81528054 100644 --- a/src/tests/junit/org/apache/tools/ant/BuildFileTest.java +++ b/src/tests/junit/org/apache/tools/ant/BuildFileTest.java @@ -477,7 +477,7 @@ public abstract class BuildFileTest extends TestCase { /** * an output stream which saves stuff to our buffer. */ - private static class AntOutputStream extends java.io.OutputStream { + protected static class AntOutputStream extends java.io.OutputStream { private StringBuffer buffer; public AntOutputStream( StringBuffer buffer ) {