Ошибка запуска Eclipse

#java #eclipse #maven #nexus

#java #затмение #maven #nexus #eclipse

Вопрос:

Сегодня, когда я запустил eclipse, я получил следующее сообщение об ошибке:

Произошла внутренняя ошибка во время: «Обновление индексов». Пространство кучи Java

Когда я проверил журнал, там было это исключение:

 !ENTRY org.eclipse.core.jobs 4 2 2011-06-14 13:44:26.546
!MESSAGE An internal error occurred during: "Updating indexes".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
at org.sonatype.nexus.index.updater.IndexDataReader.readUTF(IndexDataReader.java:132)
at org.sonatype.nexus.index.updater.IndexDataReader.readField(IndexDataReader.java:122)
at org.sonatype.nexus.index.updater.IndexDataReader.readDocument(IndexDataReader.java:96)
at org.sonatype.nexus.index.updater.IndexDataReader.readIndex(IndexDataReader.java:63)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.unpackIndexData(DefaultIndexUpdater.java:564)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:252)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.access$300(DefaultIndexUpdater.java:74)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater$LuceneIndexAdaptor.setIndexFile(DefaultIndexUpdater.java:815)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:995)
at org.sonatype.nexus.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:159)
at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateRemoteIndex(NexusIndexManager.java:1085)
at org.maven.ide.eclipse.internal.index.NexusIndexManager.updateIndex(NexusIndexManager.java:1025)
at org.maven.ide.eclipse.internal.index.NexusIndexManager$1.run(NexusIndexManager.java:632)
at org.maven.ide.eclipse.internal.index.IndexUpdaterJob.run(IndexUpdaterJob.java:71)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SESSION 2011-06-14 13:46:30.734 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
  

Я попробовал следующее, но безуспешно:

  • Увеличьте объем памяти в файле .ini в eclipse:

     -Xms128m
    -Xmx512m
    -XX:MaxPermSize=256m
      
  • Создайте переменную окружения «MAVEN_OPTS:-Xmx256m».

  • Удалите директорию ~/.cache/m2e

У кого-нибудь есть другая идея?

Ответ №1:

Эта проблема была вызвана более старыми версиями плагина m2e для Eclipse.

Более новые версии больше не передают удаленный индекс автоматически, поэтому первым рекомендуемым решением является обновление до последней версии m2e. Если это невозможно, следуйте приведенным ниже инструкциям.


Эта проблема вызвана плагином M2Eclipse, передающим удаленные индексы из репозитория Nexus (или совместимого).

  1. Отключиться от сети;
  2. Запустите Eclipse.
  3. Снимите флажок с предпочтения Maven -> Download repository index updates on startup .

Теперь вы можете повторно подключиться к сети и должны перезапустить Eclipse, чтобы убедиться, что это действительно устранило проблему.

Ответ №2:

Если вы столкнулись с этой ошибкой недавно, это может быть связано с проблемой с Luna (eclipse 4.4.0) и m2e (1.4.1). Решение состоит в том, чтобы удалить m2e 1.4.1 и установить m2e 1.5.0 под Help -> Install new Software -> All Available Sites . Официальный отчет об ошибке eclipse.

Комментарии:

1. Обновить плагин m2e еще проще из справки -> Сведения об установке -> Щелкните строку m2e -> «Обновить ….»

Ответ №3:

Существуют ли другие каталоги кэша m2e? Некоторые сообщения об ошибках по этой проблеме предлагается удалить ~/.m2/repository/.cache/m2e . Как правило, для меня это проблема maven / nexus (возможно, m2e).

Ответ №4:

Попробуйте увеличить объем памяти в файле .ini до:

Xms256m Xmx768m

Комментарии:

1. Я пытался увеличить лимит до максимума, который смогла выделить моя машина (у нее всего 2 ГБ), и ничего… В любом случае, трудно поверить, что для обновления некоторых индексов требуется более 1,5 ГБ…

2. Нет, все верно, проблема в чем-то другом. У вас много проектов, открытых в Eclipse?

3. Используете ли вы плагин subclipse?

4. Я обнаружил, что удаление и повторная установка плагина subclipse для кого-то решила проблему.

5. Ничего, я попытался удалить оба плагина subclipse и m2e : (

Ответ №5:

Сохраните уже предложенный объем памяти большего размера.

Попробуйте запустить из командной строки с аргументом «clean».

 eclipse.exe -clean
  

Из командной строки вы также можете указать, какое рабочее пространство открывать с аргументом -data. Возможно, начните с альтернативного небольшого рабочего пространства, пока ваша IDE не встанет на ноги.

Ответ №6:

Можете ли вы увеличить объем памяти и попробовать с -Xmx1024m

Комментарии:

1. Да, я пытался раньше установить 1024, но ничего не решил, поэтому я вернул 512

Ответ №7:

Попробуйте использовать еще больше памяти 🙂

 -Xms512m
-Xmx1024m
-XX:PermSize=256M
-XX:MaxPermSize=512M
  

Комментарии:

1. Проблема в том, что на моем компьютере всего 2 ГБ, поэтому при такой конфигурации происходит сбой, потому что недостаточно памяти для запуска jvm.