Это может быть связано с очень похожей известной ошибкой в Ant 1.8.2 .
Исправлено для Ant 1.8.3 , но Apache Ant 1.8.3 еще не выпущен на 25 января 2012 г. Описание WHATSNEW для этого исправления:
<junitreport> did not work in embedded environments on JDK 7.
Bugzilla Report 51668.
Как только Ant 1.8.3 выпущен и включен в плагин Eclipse Ant, эта проблема должна быть решена.
Тем временем вы можете отредактировать ваш скрипт сборки так, чтобы он запускал цель JUnitReport только при запуске Ant из командной строки, а не из Eclipse. Чтобы сделать это определение, найдите файл, присутствующий в вашей обычной папке % ANT_HOME% / lib , которого нет в папке плагина Eclipse Ant (или создайте там файл), затем установите свойство, если файл обнаружен. Е.Г.
Незадолго до конца вашей цели JUnit:
<available file="${ant.home}/lib/ant.pom" property="full.ant"/>
В начале вашей цели JUnitReport:
<target name="junitreport" description="Create a consolidated test results report" if="full.ant">
Вышеприведенные фрагменты Ant работают, потому что ant.home устанавливается в папку Eclipse Ant Plugin только тогда, когда Ant запускается из Eclipse. Когда Ant запускается из командной строки, ant.home будет соответствовать вашей переменной среды ANT_HOME . Также предполагается наличие свойства eclipse.running Ant, но я не смог обнаружить это свойство.
Другой промежуточный вариант - загрузить новейшие JAR-файлы ночных сборок Ant из по этой ссылке на странице проекта Apach Ant, а затем поместить эти JAR-файлы в соответствующую подпапку Eclipse Ant-плагина. Нет гарантий, что это сработает.