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() возвращает всевозможные разные результаты.