This is an issue under Java 1.4 when the classpath contains spaces. I have traced this code to JUnitTask.addClasspathEntry(). The call to getClass ().getResource() returns an escaped URL under 1.4 but an unescaped URL under 1.3. This means that when run, results such as the following are seen: [junit] java.lang.NoClassDefFoundError: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner [junit] Exception in thread "main" [junit] TEST nz.co.orion.audit.AuditLogTest FAILED [junit] java.lang.NoClassDefFoundError: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner [junit] Exception in thread "main" [junit] TEST nz.co.orion.discovery.DiscoveryServerTest FAILED [junit] java.lang.NoClassDefFoundError: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner [junit] Exception in thread "main" [junit] TEST nz.co.orion.hl7datatype.HL7DataTypeSpecificationTest FAILED [junit] java.lang.NoClassDefFoundError: org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner [junit] Exception in thread "main" [junit] TEST nz.co.orion.hl7datatype.HL7DataTypeTest FAILED Debug output reveals: [junit] Implicitly adding P:\Resources\Source\Concerto% 20MAP\Concerto\lib\junit.jar;P:\Resources\Source\Concerto% 20MAP\Concerto\lib\ant\ant.jar;P:\Resources\Source\Concerto% 20MAP\Concerto\lib\ant\optional.jar to CLASSPATH dropping P:\Resources\Source\Concerto%20MAP\Concerto\lib\junit.jar from path as it doesn't exist dropping P:\Resources\Source\Concerto%20MAP\Concerto\lib\ant\ant.jar from path as it doesn't exist dropping P:\Resources\Source\Concerto%20MAP\Concerto\lib\ant\optional.jar from path as it doesn't exist I can confirm that this definitely does not occure when building under JDK 1.3.
should be fixed in nightly build 2003-04-01.