Как предотвратить выполнение встроенного компилятора eclipse во время выполнения ant-сборки?

#eclipse #ant

#eclipse #ant

Вопрос:

У меня есть ant-скрипты, которые повторно компилируют более 20 файлов схемы в классы Java с использованием JAXB.

Снова и снова этот скрипт сообщает об ошибках компиляции, которые гласят: «невозможно заменить предыдущую версию (здесь указано имя файла Java)». По-видимому, какой-то процесс удерживает открытые файлы, которые JAXB перекомпилирует, и после некоторого тестирования я обнаружил, что этот процесс на самом деле является инкрементным компилятором Java, встроенным в PDE eclipse.

Причина, по-видимому, в том, что все схемы включают общий файл схемы, который определяет некоторые базовые типы, которые используются повсюду. Таким образом, соответствующие файлы Java воссоздаются каждый раз, когда компилируется схема, которая импортирует этот общий файл.

Если я подожду 5 секунд после каждой перекомпиляции, все будет работать нормально (потому что к тому времени компилятор перекомпилировал и выпустил все вновь созданные файлы Java). Но это заставляет мой ant-скрипт работать ужасно медленно!

Есть ли какой-нибудь способ приостановить выполнение инкрементного компилятора во время выполнения Ant-скрипта (запускаемого из eclipse через «run as … » => «Ant script» )?

Только когда ВСЕ схемы были перекомпилированы, он должен перекомпилировать все вновь созданные классы, но не во время или параллельно с выполнением ant-скрипта!

M.