2010-12-03 4 views
247

я разрабатываю Java кода с Eclipse, и регулярно получаю сообщение:Избежание «ресурс синхронизирован с файловой системой»

resource is out of sync with the filesystem.

правой кнопкой мыши> Обновить всегда будет ясно, что это.

Но почему Eclipse не может автоматически обновляться при обнаружении этого условия? Есть случаи, когда вы хотите, чтобы ресурс не синхронизировался ?.

Если есть такие условия, и они не применяются к моей работе, есть ли способ заставить Eclipse обновляться автоматически, когда он сталкивается с этим состоянием ?. (Я ценю, что он должен обновляться настолько, насколько это необходимо для нормальной разработки, для повышения производительности для разработчиков-разработчиков.)

UPDATE (2012-06-25): Мое последнее обновление (Версия: Indigo Release Build id: 20110615 -0604) больше не отображается Предпочтения - Общее - Рабочее пространство - Автоматическое обновление Есть опция «Обновить при доступе» - следует ли использовать это?

+0

_Why_ вы получите сообщение? Вы можете потерять работу, если не будете осторожны. – 2010-12-03 12:10:46

+1

Я получаю это сообщение * всегда *, когда я ищу рабочее пространство, потому что проект Servers (в веб-инструментах) содержит файлы журналов, которые продолжают обновлять внешнее затмение. До сих пор я не нашел никакого решения, кроме автоматического обновления, но это дает проблемы (в частности: когда запускается Ant-сборка, Eclipse будет обновлять на полпути Ant-сборку и беспорядок). – 2014-09-29 12:39:17

+0

возможно, просто лижу в проекте, затем выберите «обновить»? – 2015-03-30 10:48:05

ответ

298

Вы можете включить это в окне - Настройки - Общие - Рабочая область - Обновлять автоматически (под названием Refresh с помощью собственных крюки или опроса в новые сборки)

Единственная причина, я могу думать, почему это не включается Значение по умолчанию связано с производительностью.

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

Существует также article on the Eclipse site относительно автоматического обновления.

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

+0

+1 Это происходит только во время этого условия? Или это случится достаточно, чтобы повлиять на меня в другом месте? – 2010-12-03 08:43:43

+1

У меня есть настройки - Общие - Рабочая область - Автоматически обновлять. Это одно и то же? – 2010-12-03 08:47:23

+1

Любой способ автоматически принимать изменения из файловой системы для открытых окон редактора, у которых нет несохраненных изменений? – Leopd 2011-06-02 16:17:51

5

Это происходит со мной все время.

Перейдите в журнал ошибок, найдите исключение и откройте несколько уровней, пока не увидите нечто более похожее на основную причину. Говорит ли он: «Ресурс не синхронизирован с файловой системой»?

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

Есть несколько вещей, которые вы можете попробовать. Сначала перейдите в Window: Preferences, Workspace и включите «Обновить автоматически». Теоретически это должно решить проблему, но для меня это не так.

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

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

1

Если это происходит при попытке удалить папку (на * nix), а Refresh не помогает, откройте терминал и найдите символическую ссылку под папкой, которую вы пытаетесь удалить, и удалите это вручную. Это решило мои проблемы.

12

Для новой версии Indigo настройки меняются на «Обновить при доступе» и с подробным объяснением: автоматически обновлять внешние изменения рабочей области при доступе через рабочую область.

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

35

Просто щелкните правой кнопкой мыши по файлу или в проекте и нажмите «Обновить». Ошибка исчезнет. Я также столкнулся с той же проблемой, и это сработало для меня.

1

Немного подсказки. Сообщение часто появляется во время операции переименования. Быстрое обходное решение для меня - это нажать Ctrl-Y (redo shortcut) после подтверждения сообщения. Он работает только в том случае, если переименование влияет на один файл.

1

Когда вы открываете рабочее пространство Eclipse из прозрачного представления и пытаетесь переименовать проект, вы часто получите всплывающее предупреждение ... «Проект« Ресурс »не синхронизирован с файловой системой». Если обновление проекта не устраняет проблему, выполните следующее обходное решение: a. Открытое рабочее пространство БЕЗ в представлении b. Выберите проект в Project Explorer c. ClearCase -> Associate Project (проект должен теперь выглядеть как проект []) d. Щелкните правой кнопкой мыши проект -> Обновить (подпапки vob теперь должны быть пустыми) e. Щелкните правой кнопкой мыши проект -> Переименовать ... f. Введите новое имя

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

1

Если вы являетесь обычным пользователем Eclipse, вы можете получить эту ошибку много раз. Ошибка просто говорит: «вы внесли изменения в файлы в своем рабочем пространстве извне затмения». Простейшим решением было бы выбрать проект и нажать F5 (Щелкните правой кнопкой мыши -> Обновить).

, если вам нужно больше объяснений вы можете прочитать из этого web site

Смежные вопросы