Fix Eclipse java ссылается на повреждение базы данных?

Как заставить eclipse перестроить базу данных классов, содержащихся в проекте или рабочей области? Это то, что он использует для создания действия меню "Ссылки", что он использует для диалога "Добавить импорт" и т.д. В принципе, это часть основной полезности Eclipse. И теперь он работает только на 5% от моего проекта.

Я столкнулся с этой проблемой несколько раз: что-то происходит с eclipse, либо через OutOfMemoryError, потому что я открыл какой-то огромный файл, либо потому, что в рабочем пространстве всего несколько месяцев тяжелого использования.

Сейчас я использую Eclipse Galileo на Win32. Однако у меня была эта проблема на MacOS, а также с Europa и Ganymede.

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

EDIT: я использовал eclipse -clean, а также восстановил свой проект. Это проблема коррупции где-то в eclipse, а не в моем проекте.

Ответы

Ответ 1

Это сработало:

  • Экспортировать настройки из текущей рабочей области (File- > Export- > General- > Preferences)
  • Переключить рабочие области в новое рабочее пространство
  • Импорт настроек в текущую рабочую область
  • Импортируйте старый проект в новое рабочее пространство (Файл- > Импорт- > Общие- > Существующие проекты в Рабочее пространство), выбрав "Копировать проект"

Это работает для получения ссылок DB. Чтобы снова запустить SVN (и предположительно CVS):

  • Щелкните правой кнопкой мыши по проекту, выберите "Команда", выберите "Поделиться проектом". Выберите тот тип хранилища версий, который вы использовали, и нажмите "Далее". Eclipse должен понимать, что ваш проект уже настроен для этого, и просто нажмите кнопку "Готово".
  • Обновите источники в репозитории.

Ответ 2

Первый выход Eclipse. Затем в вашем каталоге рабочей области удалите каталог .metadata/.plugins/org.eclipse.jdt.core/. В следующий раз, когда вы запустите Eclipse, он восстановит все свои внутренние индексы. Часто очистка проектов не заставляет все эти метаданные перестраиваться.

Ответ 3

Если он только на уровне проекта, я помню, что вы можете просто закрыть проект (т.е. Project → Close project), а затем повторно открыть его (Project → Open project). Вам даже не нужно перезапускать eclipse.

Ответ 4

Когда это происходит, мне обычно приходится удалять проекты из рабочей области, переходить в командную строку и rm -rf.settings.profile.classpath, а затем reimport проекты обратно. Иногда мне приходится удалять каталог метаданных ( это означает, что я должен переустановить некоторые из моих плагинов). Мне еще предстоит найти реальное решение для этого. Очистка проекта ничего не помогает.

У вас не должно быть работы "часов восстановления", если вы просто удалите .setfile.profile и .classpath. Вам просто нужно выполнить reimport проекты обратно, удалив их из рабочей области. В то время как раздражение, оно не должно занимать более 5 - 10 минут.

Ответ 5

Я предлагаю запустить Project > Clean... в проекте. Это должно стать причиной перекомпиляции проекта.

Ответ 6

Вы можете начать с попытки удалить свой проект (без удаления исходных файлов, конечно, только связанных с ним метаданных).

Затем вы повторно импортируете проект в свою рабочую область (так как .classpath и .project все еще находятся на вашем жестком диске)

Таким образом, все рабочее пространство не затрагивается, а только часть, относящаяся к текущему проекту.

Ответ 7

a) выйти из Eclipse

b) удалите все папки проекта/целевые папки (например, с помощью командной строки)

#starting from current folder (".") search for folders 
# ("-type d") with name (-iname ) "target" or "bin"
# feed this to xargs which calls 
# rm -rf (remove recursive "-r" and force "-f") 
# with the results from find

find . -iname "target" -type d | xargs rm -rf 

или

find . -iname "bin" -type d | xargs rm -rf 

c) перезапустить eclipse

Обычно НЕ необходимо удалить любой проект из рабочей области или удалить .classpath или .setting!

d) очистить все проекты

Ответ 8

Для меня это был фильтр... Нажатие CTRL + G на Windows Eclipse Luna с "Потенциальными совпадениями" на самом деле CHECKED заставило проблему уйти.

Как поиск метода clear() возвращает всевозможные разные результаты.