Текущая ситуация: Я переношу систему сборки из Ant в Gradle. В настоящее время я столкнулся с проблемой с classpath и buildpath. Вот текущий Ant целевой компиляции определение:Миграция Ant Gradle - проблемы с Classpath и Buildpath в Eclipse
<target name="compile">
<mkdir dir="${build.compile.target}/classes" />
<javac srcdir="${src}" destdir="${build.compile.target}/classes">
<classpath>
<fileset dir="${build.war}/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
<pathelement location="${build.war}/WEB-INF/classes" />
</classpath>
</javac>
</target>
Разработчики обычно выполняют следующие настройки локальной цели для создания военных файлов и т.д.
<target name="setup-local" depends="clean">
<antcall target="copy_webapp" />
<antcall target="compile" />
Мишень copy_webapp копирует .jar и .class из каталога в каталог $ {build.war}. К сожалению, этот целевой экземпляр действительно необходим, так как он вносит соответствующие изменения в файлы (он объединяет файлы из двух каталогов в один, выполняет переписывание и модификации файлов. Это устаревший код без каких-либо комментариев. Я действительно не хочу проводить исследования на нем и выяснить, почему вещи, как они есть)
Проблема для меня: в пути к классам есть ссылка на файлы, которые действительно существуют только тогда, когда цель copy_webapp выполняется заранее. Достаточно справедливо - это работает, если я всегда выполняю только установочную локальную цель.
Теперь, после перехода на Gradle и импорта проекта в Eclipse, я получаю тысячи ошибок в моих .java-файлах, заявив, что импорт не может быть разрешен. Ну, конечно, нет. В пути построения находятся файлы (f.e. "$ {build.war}/path/to/jar"), которые не существуют.
Я не знаю, как решить эти ошибки. Нужно ли мне реструктурировать мой путь к классам, чтобы раньше не было зависимости от цели copy_webapp? Или я могу каким-то образом изменить путь сборки (с помощью Gradle), прежде чем он должен решить задачу copy_webapp?
Мы не можем помочь вам, пока вы не покажете нам свои текущие сценарии градиента. –
Вы используете 'gradle eclipse' для генерации проектов eclipse? – cmcginty
Да, работает затмение градиента. Я думаю, что сценарии Gradle не нужны для решения моей проблемы, поскольку это структурная проблема. – SilverJan