Eclipse не обновляет файлы проекта в представлении проводника пакета

Сегодня я вижу странное поведение Eclipse 3.5.2 впервые за 3 месяца.

Во-первых, когда я запускаю основную функцию, она запускает ранее скомпилированную версию. Скажем, я нажимаю Ctrl + F11 в окне с открытым классом java и существующей основной функцией. Обычно он перестраивает класс и запускает новую версию. Сегодня даже если бы произошла ошибка компиляции, все будет нормально. Поэтому я думаю, что он не перекомпилирует класс.

Далее, более странно, если я намеренно ошибаюсь в коде, а Eclipse подчеркивает эти строки красным цветом, все же Project Explorer не помещает их как содержащие ошибки. Они остаются серым цветом, если не было никаких ошибок.

Сначала я не знал, как решить эту проблему. Я попытался снова открыть проект, перезапустить Eclipse и, наконец, перезагрузить ОС. После десятой попытки после перезагрузки Eclipse сказал, что все файлы проекта "OUT OF SYNC с файловой системой". Когда я нажал "Обновить" - F5 на имя заголовка проекта в Project Explorer, он, наконец, пометил все файлы с ошибками как содержащие ошибки и выполнив главную функцию, дал желаемый результат.

Прошел час моей работы, и это произошло снова, с другим проектом. Все так же. Отсутствие маркировки файлов как красных, работающих независимо от старой версии класса без ошибок компиляции.

И поскольку Eclipse не сообщает, что файлы не синхронизированы, просто нажатие F5 на проекте не поможет.

Что вы можете предложить?

Ответ 1

Когда вы выбираете проект в представлении Project Explorer и нажимаете F5, Eclipse должен пересекать все дерево каталогов для проекта, проверяя, что все файлы и каталоги находятся в синхронизации. Это для меня...

Единственное, что я могу думать о том, что это не сработает, это если у вас есть аномалии временной метки файловой системы. Например, если файл в файловой системе обновлен, но последний измененный файл показывает, что он был обновлен в прошлом. Такая ситуация может произойти, если ваши системные часы системы перемещаются назад или вперед в неудобное время. Если вы считаете, что это могло произойти, попробуйте закрыть все проекты, перезапустить Eclipse и выполнить еще одно обновление F5.

(Я часто сталкиваюсь с проблемами синхронизации Eclipse, но я помещал их в комбинацию изящных плагинов и делал сборки из командной строки. Либо F5, либо Project > Clean обычно работает для меня.)

Ответ 2

Является ли сборка автоматически включенной? (Menu > Project > Build automatically)

Ответ 3

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

Ответ 4

Решение: Reimport проект

Это случилось со мной при проверке нового файла из svn в explorer. По какой-то причине Eclipse не смог найти новый файл.

Я попытался обновить проект (F5) и Project > Clean и построить проект (Project > Build All), ни один из них не работал у меня.

Итак, я удалил проект из представления Project Explorer (не с жесткого диска). Перед тем, как это сделать, снимите флажок "Удалить содержимое проекта на диске (не может быть отменено)" и сохраните любые несохраненные изменения.

Теперь Reimport проект с использованием опции File > Import. Это должно работать в большинстве случаев.