Eclipse не синхронизирован с изменениями файловой системы, внесенными ant's build.xml - PullRequest
7 голосов
/ 03 декабря 2010

У нас довольно большой проект.Мы используем муравья для настройки окружающей среды.Одна из вещей, которая происходит во время сценария ant, заключается в том, что jar копируется в папку lib проекта.Затем мы используем муравьиные задачи: eclipse.refreshLocal и eclipse.incrementalBuild, чтобы теперь скопированный jar-файл решал проблемы компиляции в проекте, который к нему относится.

К сожалению, проекты кажутся несинхронизированными с файловой системой.Проект> свойства> путь сборки показывает, что файл jar присутствует (возможно, информация обновляется при просмотре свойств w), но incrementalBuild не делал того, что мы ожидали.

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

Когда я собираю его с помощью Eclipse, это нормально.

Я беспокоился, что, возможно, естьциклические зависимости между проектами, но, по-видимому, таких зависимостей нет (Свойства сборки: для параметра циклических зависимостей установлено значение «Ошибка», и в проектах нет ошибок этой формы).

похож на проблему?Как правильно решить эту проблему?

Спасибо за помощь.

Ответы [ 4 ]

10 голосов
/ 03 декабря 2010

Если щелкнуть правой кнопкой мыши файл build.xml и выбрать Запуск от имени → Ant Build ... , вы увидите вкладку с именем Обновить . Просто отметьте опцию Обновить ресурсы после завершения .

(Я использую это сам при генерации кода в целевом объекте ANT xslt, и это работает как чудо).

enter image description here

Вы также можете выбрать Обновлять автоматически в Окно → Настройки → Рабочая область

0 голосов
/ 03 декабря 2010

Одним из решений, которое может работать для вас, является изменение конфигурации запуска Eclipse для сборки Ant (Run -> External Tools -> External Tools Config) и явная настройка ее для обновления рабочего пространства (или его частей) после завершения сборки Ant.Это устраняет необходимость выполнять обновление из самого скрипта Ant и всегда вызывает правильную реакцию сборки после завершения скрипта.

0 голосов
/ 03 декабря 2010

Eclipse, как правило, не очень нравится, если вы изменяете файлы в его рабочей области извне. В настройках Eclipse есть опция автоматической синхронизации с файловой системой, но она может быть очень интенсивной в отношении ввода-вывода.

И это, вероятно, все еще не решит все ваши проблемы, особенно. когда вы меняете библиотечные банки.

Даже учитывая предложение Скаффмана с обновлением о завершении сборки, я не уверен, что это действительно улучшит вашу ситуацию, но попробуйте.

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

0 голосов
/ 03 декабря 2010

Попробуйте очистить все рабочее пространство и обновить:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...