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
. Это должно работать в большинстве случаев.