Как предотвратить зависание Eclipse при запуске?


228

Я использую Eclipse 3.3 («Европа»). Периодически запуск Eclipse занимает чрезмерно много времени (возможно, навсегда). Единственное, что я вижу в журнале Eclipse:

    ! ENTRY org.eclipse.core.resources 2 10035 2008-10-16 09: 47: 34.801
    ! СООБЩЕНИЕ Рабочее пространство вышло с несохраненными изменениями в предыдущем сеансе; обновление рабочей области для восстановления изменений.

Поиск в Google показывает чье-то предложение, чтобы я удалил папку:

workspace\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes

Это, похоже, не помогло.

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


4
Решение в этом вопросе сработало для меня :)
Charith De Silva


Следует помнить одну вещь: когда Eclipse запускается, собирается или использует систему контроля версий, он сравнивает локальный каталог с репозиторием, он сканирует каталог (ы) проекта. Так что если вы пишете много выходных файлов локально, то Eclipse должен будет сканировать его, даже если он находится в рабочей области / your_project / tmp. Если количество файлов действительно велико (скажем, вы моделируете базу данных с локальными файлами), это может занять некоторое время. Это приведет к тому типу нестабильности, о котором люди сообщают здесь. Лучше всего размещать такие данные где-нибудь еще.
Марк Батлер

Ответы:


267

Возможно, это не точное решение вашей проблемы, но в моем случае я отследил файлы, с которыми Eclipse опрашивал SysInternals Procmon , и обнаружил, что Eclipse постоянно опрашивает довольно большой файл снимка для одного из моих проектов. Убрал это, и все запустилось нормально (хотя с рабочим пространством в состоянии, в котором оно было при предыдущем запуске).

Удаленный файл был:

<workspace>\.metadata\.plugins\org.eclipse.core.resources\.projects\<project>\.markers.snap

2
Этот файл не существует в моей версии.
User1

71
2011-06-08: В Eclipse 3.6 (Helios) соответствующий файл выглядит так .metadata/.plugins/org.eclipse.core.resources/.snap. Я убил этот файл и прежде, «Затмение» снова запустилось. Я только заметил, что это дублирует ответ от joj.
Карл Смотриц

11
Удаление .metadata \ .plugins \ org.eclipse.core.resources \ .projects \ <project> \. Markers.snap мне не помогло. Мне пришлось удалить .metadata / .plugins / org.eclipse.core.resources / .snap
1.21 гигаватт

3
Я тоже должен был удалить .metadata / .plugins / org.eclipse.core.resources / .snap благодаря Донни Кумии 1,21 гигаватт
Эндрю Маккензи

2
Достаточно было просто удалить файл .snap @1.21gigawatts, чтобы он заработал.
marlonp33

233

пытаться:

  1. перейдите в <рабочее пространство> \. метаданные \ .plugins \ org.eclipse.core.resources
  2. удалить файл * .snap (или .markers в Indigo)

3
Ты мой бог! Кстати, что это .snap обычно делает?
Михал Пенкала

1
Этот файл существовал для меня, а .metadata.plugins \ org.eclipse.core.resources.projects \ .markers.snap, упомянутый в другом ответе, - нет. Я, кажется, не потерял ничего критического из моей рабочей области, удалив этот файл.
User1

1
@ MichałPękała Мне также было интересно узнать об эффекте удаления этого файла, я нашел еще один вопрос, который немного отвечает на вопрос: что такое файлы моментальных
снимков

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

Eclipse должен сделать это автоматически при запуске, если / когда он обнаружит ошибку.
aroth

54

В моем случае (Юнона) я должен был сделать это:

find $WORKSPACE_DIR/.metadata/.plugins/org.eclipse.core.resources/.projects \
-name .indexes -exec rm -fr {} \;

Это добилось цели.

Сначала я думал, что это проблема с Mylyn (эти зависания произошли после того, как я начал использовать его общий веб-соединитель), но проблема появилась даже после удаления соединителя и даже удаления каталогов .mylyn.

Редактировать: мне также удалось перезапустить затмение, удалив только один файл:

rm $WORKSPACE_DIR/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

Это работало нормально, без каких-либо индексов. Только рабочий, на который я лично особо не возражаю.


Как вы определили, что .indexesфайлы были источником проблемы?
Джефф Аксельрод

Проба / ошибка, боюсь. Я подозревал, что это была ошибка Милина, поэтому я начал с каталога .mylyn безрезультатно. Затем я где-то читал о блокировке затмения при индексации, поэтому я пошел на это.
Рафа

7
Удаление файлов .markers у меня не сработало, но удаление .indexes и workbench.xmi снова загрузило мою рабочую область.
Натаниэль Вайсброт

Попробовал много вещей и удаление этого workbench.xmi сделало это для меня спасибо
Марк

3
Удаление $ WORKSPACE_DIR / .metadata / .plugins / org.eclipse.e4.workbench / workbench.xmi работало и для меня (я выполняю затмение Марса)
Ненад

36

Вы можете попробовать начать Eclipseсначала с -cleanопцией.

В Windows вы можете добавить -cleanопцию в ярлык для затмения. На Linuxвы можете просто добавить его при запуске Eclipseиз командной строки.


3
С моей проблемой на окнах (похожей, если не идентичной задающим вопросы) это не решило проблему.
Расселпирс

Одно из самых безвредных решений, которое вы должны попробовать в первую очередь.
13

35

Этот работает для меня:

Другой, и немного лучший обходной путь, который, очевидно, работает:

  1. Закрыть Eclipse.
  2. Временное перемещение оскорбительного проекта куда-то из рабочей области.
  3. Запустите Eclipse, подождите, пока загрузится рабочее пространство (оно должно).
  4. Закрой Eclipseснова.
  5. Переместите проект обратно в рабочее пространство.

Источник: Eclipse зависает при открытии рабочего пространства после обновления до GWT 2.0 / Google app engine 1.2.8.


Спасибо @Hendy! это единственное решение, сработавшее для меня в Eclipse Luna.
Яссин ЭльБадауи,

Он делает свое дело, хотя и является неприятным решением для каждого момента затмения. В любом случае спасибо :)
Roberto14

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

31

Я использовал, eclipse -clean -clearPersistedStateи это сработало для меня.

Предупреждение: это может удалить все проекты из рабочей области.


3
Примечание. Это также сбрасывает ваши перспективы рабочего пространства.
Альджинн,

Это сработало, но в моем случае все проекты были удалены.
mprabhat

13

У меня была похожая проблема с довольно большим рабочим пространством в 3.5 и нигде .snap-файлов нигде не было видно. « Windows-> Preferences-> General-> Запуск и завершение работы -> Обновить рабочее пространство при запуске», похоже, является параметром, связанным с рабочим пространством, и поэтому я не мог изменить его для рабочего пространства, которое вызывало зависание.

Запуск eclipseс параметром командной строки -refresh, а затем изменение настройки, кажется, помогает.


3
Это был способ, которым я заставил это работать. -refreshбит был ключевым для меня. Спасибо!
Крис Крычо

-чистка в одиночку не помогла, пришлось бежать -рефреш тоже
dschulten

12

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

<eclipse workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects

Следовательно, следующий Unix CMD добился цели:

find <eclipse_workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects  -name "*.snap" -exec rm -f {} \;

8

Я перепробовал все ответы в этой теме, и ни один из них не работал для меня - ни файлы моментальных снимков, ни перемещение проектов, ни один из них.

Как ни странно, то, что сработало, это переместило все проекты и папку .metadata в другое место, запустив Eclipse, закрыв его, а затем переместив все обратно.


5

Так как у меня нет файла .snao или .prefs в папке .metadata.plugins \ org.eclipse.core.resources (работает на OS X), мне удалось скопировать папку .project в old.project. , запустите Eclipse и проверьте

Windows -> Настройки -> Общие -> Запуск и завершение работы -> Обновить рабочее пространство при запуске

как предложено Мэттом Б. После этого я закрыл Eclipse, переименовал папку old.projects обратно в .projects и после этого все снова заработало нормально.


3

Я сделал это:

  1. cd to .metadata.plugins \ org.eclipse.core.resources
  2. удалить файл .snap
  3. Заметил, что вкладка «Прогресс» делает что-то каждые несколько секунд.
  4. Выходное затмение (НЕ ФАЙЛ | ПЕРЕЗАПУСТИТЕ ЗДЕСЬ, ИЛИ ВЫ ДОЛЖНЫ ВЕРНУТЬСЯ, ЧТОБЫ ШАГ 1 СНОВА)
  5. Снова откройте затмение.

Использование -refreshили -cleanпри запуске Eclipse не помогло.


3

В Mac OS X вы запускаете Eclipse, дважды щелкнув приложение Eclipse. Если вам нужно передать аргументы в Eclipse, вам нужно отредактировать файл eclipse.ini внутри пакета приложения Eclipse: выберите значок пакета приложения Eclipse, удерживая нажатой клавишу управления. Это представит вам всплывающее меню. Выберите «Показать содержимое пакета» во всплывающем меню. Найдите файл eclipse.ini в подпапке Contents / MacOS и откройте его в своем любимом текстовом редакторе для редактирования параметров командной строки.

добавьте: "-clean" и "-refresh" в начало файла, например:

-clean
-refresh
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library

Это сработало для меня в Eclipse Luna, на OSX 10.10.3 (Yosemite). Спасибо Одед!
Скотт Преснелл

2

Убедитесь, что Workspace Launcher не открылся на вашем телевизоре или каком-либо другом втором мониторе. Это случилось со мной. Симптомы выглядят так же, как описанная проблема.


1

Windows -> Настройки -> Общие -> Запуск и завершение работы

Является ли Refresh workspace on startupпроверено?


10
Это может быть трудно оценить, когда рабочее пространство Eclipse не откроется в первую очередь.
Расселпирс

Это не очень полезный комментарий, @rpierce, так как вы всегда можете указать другое рабочее пространство при запуске (конечно, при условии, что вы не настроили Eclipse по умолчанию для определенного рабочего пространства при запуске!). ** Вы всегда можете установить SHOW_WORKSPACE_SELECTION_DIALOG = false в org.eclipse.ui.ide.prefs, чтобы отменить это, если вы установили значение по умолчанию ** В предположении, что вы можете запускаться с другой рабочей областью, отметьте «Обновить рабочую область в флажок запуска, затем перезапустите Eclipse и вернитесь в исходное рабочее пространство. Это должно подтолкнуть вещи вперед.
user924272

1
@ user924272: Ну, <shrug> 9 человек не согласны с вашей оценкой моего комментария. Тем не менее, я с радостью признаю, что ваш комментарий более полезен ... и действительно может предоставить информацию, которую Мэтт В мог бы включить в свой ответ, что сделало бы его лучшим ответом. Но теперь информация, которую вы предоставили, здесь, и каждый может получить выгоду!
russellpierce

1

У меня просто были проблемы с запуском Eclipse. Это было исправлено путем удаления этого файла:

rm org.eclipse.core.resources.prefs

Я нашел в .settings


1

UFT вызывает проблемы с RDz (на основе Eclipse) после установки. Эти предложения позволят обойти эту ситуацию даже при наличии переменных среды и соответствующих значений.

Примечание . Конфликтующее приложение не будет распознаваться в контексте Java, поскольку оно исключено из механизма поддержки Java.

  1. Воздействие. Исключает поддержку надстроек из-за перехвата конфликтующего исполняемого файла приложения с помощью редактора реестра Windows. Требование: приложение должно запускаться с помощью файла EXE, за исключением Java.exe / Javaw.exe / jpnlauncher.exe.

Инструкции :

а. Найдите исполняемое имя файла приложения, конфликтующее с поддержкой надстроек. Либо используйте диспетчер задач, либо Microsoft Process Explorer.

б. Откройте редактор реестра Windows.

с. Перейдите по адресу: HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Mercury Interactive \ JavaAgent \ Modules Для 32-разрядных приложений в Windows x64: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Mercury Interactive \ JavaAgent \ Modules

д. Создайте значение DWORD с именем конфликтующего исполняемого файла filenmae и установите значение 0.

Обновленный реестр


1

Удаление * .snap (у меня это * .markers), --clean-data или папка рабочей области перемещения, кажется, у меня не сработало.

Когда мое затмение перестало работать после того, как я установил и переключил свой ввод с клавиатуры на HIME, я вернулся к fctix, и оно заработало.


Это не дает ответа на вопрос. Как только у вас будет достаточно репутации, вы сможете комментировать любой пост ; вместо этого предоставьте ответы, которые не требуют разъяснений от автора . - Из Обзора
Вишва Дейв

1
@VishvaDave Разве не вопрос, задающий решение проблемы, которая застряла в Eclipse? Я думаю, что мы столкнулись с той же проблемой, и ответ сработал в моем случае.
Adayoegi

0

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


0

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


0

У меня была очень похожая проблема с eclipse (Juno) в Fedora 18. В середине отладки сеанса Android затмение завершило сеанс отладки. Я попытался перезапустить затмение, но оно продолжало работать на заставке. Я попробовал различные предложения выше, но безуспешно. Наконец, я проверил сервис adb (мост отладки Android):

# adb devices
List of devices attached 
XXXXXX offline

Я знаю, что устройство Android все еще подключено, но оно сообщило об этом в автономном режиме. Я отключил устройство и выключил службу ADB:

# adb kill-server

Затем я подождал несколько секунд и перезапустил службу adb:

# adb start-server

И подключил мой андроид обратно. После этого затмение началось просто отлично.


0

нет необходимости удалять весь файл метаданных. просто попробуйте удалить файл .snap из org.eclipse.core.resources в папке рабочей области.

ex. E:\workspaceFolder\.metadata\.plugins\org.eclipse.core.resources

0

Следите за нулевыми байтами файлов .plugin в папке {WORKSPACE-DIR} /. Metadata / .plugins. Я просто удалил один там, и это исправило мои проблемы с зависанием.


0

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

Как упоминалось выше, универсальным средством защиты является использование Process Monitor для обнаружения файлов с ошибками. Полезно установить следующий двухстрочный фильтр:

  • Имя процесса - eclipse.exe
  • Имя процесса - javaw.exe

0

У меня была похожая проблема после того, как я обновил затмение на Маверикс. В конце концов я обнаружил, что в каталоге плагинов eclipse в конце файла jar com.google.gdt.eclipse.login указаны номера версий. Я удалил номер версии из названия и все началось нормально :)



0

Это может помочь

В вашем затмении

1) Перейти на помощь

2) Нажмите Eclipse Marketplace

3) поиск - оптимизатор

установить "оптимизатор для затмения"

введите описание изображения здесь



0

Это также может быть вызвано этим ошибкой, если у вас Eclipse 4.5 / 4.6, версия плагина Eclipse Xtext старше v2.9.0 и конкретная конфигурация рабочей области.

Обходной путь должен был бы создать новое рабочее пространство и импортировать существующие проекты.


0

Ну, у меня было похожее поведение при запуске затмения над X11. Я забыл поставить галочку enable X11 forwarding в моей замазке.


0

В моем случае удаление папки .metadata рабочей области сработало. Я использую сервис Eclipse Luna Release 2.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.