EDIT: Я закончил создание всего проекта в Eclipse и смог его построить. Я не знаю, почему эта проблема возникла и, надеюсь, мне никогда не придется это выяснять.Ant build failed без видимых ошибок
У меня возникла проблема, когда моя сборка сообщает «BUILD FAILED», не сообщая никаких ошибок.
Я строю большое применение большого количества старого кода, который у меня теперь есть радость изменения. Большинство других разработчиков установили свои сборки с помощью Eclipse, но я пытаюсь создать его через существующие файлы build.xml.
После того, как мой набор путь к классам, сборка проходит гладко, но вскоре после начала операции компиляции, он возвращает:
Lots of "[javac] file.java" lines. BUILD FAILED <project path>/build.xml:201: Compile failed; see the compiler error output for details.
Это меньше, чем полезно. Build.log не имеет никакой дополнительной информации, кроме трассировки стеки:
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1085) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:885) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) at org.apache.tools.ant.Project.executeTarget(Project.java:1306) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1189) at org.apache.tools.ant.Main.runBuild(Main.java:758) at org.apache.tools.ant.Main.startAnt(Main.java:217) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Добавления -debug
флага муравья создает гору информации, и с такими длинным путем к классам (так много банок) это трудно сортировать его.
Вот цель в муравья:
<target name="compile" depends="achmetadata"> <mkdir dir="${path.build.classes}"/> <javac listfiles="yes" destdir="${path.build.classes}" classpathref="project.classpath" debug="on" deprecation="on" fork="yes" nowarn="no" memoryMaximumSize="512M" srcdir="${path.src.java}" source="1.4" target="1.4" > -><src path="${path.build.src}"/> <patternset refid="production-code"/> </javac> </target>
Путь к папкам устанавливается через этот classpathref и имеет много банок, включенных через и теги.
Любые мысли о том, на что я должен смотреть? Что может заставить муравья терпеть неудачу?
Это больше, чем трассировка стека. Отправьте все это. – duffymo
На самом деле, это все муравьи дает мне. Это выглядит хорошо от меня. У него есть основной метод внизу, а Javac.compile - наверху. – Periodic
Каково значение $ {path.build.src}? Вы можете добавить элемент непосредственно перед элементом , и это будет выгружать значение во время компиляции. Можете ли вы также указать определение шаблона? –
mlschechter