Избегание "ресурса не синхронизируется с файловой системой"

Я разрабатываю Java-код с Eclipse и регулярно получаю это сообщение:

Ресурс

не синхронизирован с файловой системой.

Щелкните правой кнопкой мыши > Refresh, это всегда очистит.

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

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

ОБНОВЛЕНИЕ (2012-06-25): Мое последнее обновление (версия: Indigo Release Build ID: 20110615-0604) больше не показывает Настройки - Общие - Рабочее пространство - Автоматическое обновление Существует опция "Обновить при доступе" - следует ли использовать это?

Ответ 1

Вы можете включить это в Window - Preferences - General - Workspace - автоматически обновить (например, Refresh using native hooks или опрос в новых сборках)

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

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

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

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

Ответ 2

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

Ответ 3

enter image description here Окно → Настройки → Общие → Рабочее пространство

Ответ 4

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

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

Ответ 5

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

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

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

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

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

Ответ 9

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

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