Удаление определенных классов при запуске внешнего инструмента в Eclipse?

Я установил внешний инструмент (sablecc) в eclipse (3.4), который генерирует группу классов в текущем проекте. Мне нужно запустить этот инструмент и регенерировать эти классы довольно часто. Это означает, что каждый раз, когда я хочу запустить sablecc, мне нужно вручную удалять пакеты / классы, которые создает sablecc, чтобы избежать конфликтов между старым и новым сгенерированными классами. Есть ли какой-нибудь простой способ автоматизировать это из затмения или иным образом?

3 ответа

Не уверен, правильно ли я понимаю вашу точку зрения, я полагаю, вам нужно удалить старые классы перед запуском sablecc, потому что некоторые из них в конечном итоге не будут созданы при новом запуске.

Вероятно, лучше написать короткий Ant build.xml с целью, которая сначала удаляет классы (задача удаления Ant), а затем запускает sablecc (задача Ant exec). Также возможно предварительно настроить eclipse, чтобы он обновлял рабочее пространство после завершения Ant.

Поместите build.xml в любое место проекта, щелкните правой кнопкой мыши Run As / Ant Build.

Просто ради чистого стиля вы могли бы затем вызвать sablecc с его задачей Ant (реализованной org.sablecc.ant.taskdef), вместо того, чтобы запускать его извне в новом процессе.

Вы можете указать Eclipse обновить рабочее пространство (или его части) после запуска внешнего инструмента. Это должно заставить Eclipse обнаруживать любые новые / удаленные классы.

JesperE ссылается на опцию Обновить-> Обновить ресурсы по завершении в вашей конфигурации внешних инструментов для запуска sablecc.

Другие вопросы по тегам