Eclipse висить на завантажувальному верстаку


95

Моє затемнення перестає завантажувати робочий стіл. Я спробував вже починаючи з ./eclipse --clean

При запуску з консолі видає наступний виняток:

java.lang.NullPointerException
    at org.eclipse.core.internal.runtime.Log.isLoggable(Log.java:101)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.safeIsLoggable(ExtendedLogReaderServiceFactory.java:57)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.logPrivileged(ExtendedLogReaderServiceFactory.java:158)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.log(ExtendedLogReaderServiceFactory.java:146)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceFactory.log(ExtendedLogServiceFactory.java:65)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceImpl.log(ExtendedLogServiceImpl.java:87)
    at org.eclipse.equinox.log.internal.LoggerImpl.log(LoggerImpl.java:54)
    at org.eclipse.core.internal.runtime.Log.log(Log.java:60)
    at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:92)
    at org.tigris.subversion.clientadapter.Activator.getAnyClientAdapter(Activator.java:81)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:145)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:92)
    at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:425)
    at org.tigris.subversion.subclipse.core.status.NonRecursiveStatusUpdateStrategy.statusesToUpdate(NonRecursiveStatusUpdateStrategy.java:53)
    at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refreshStatus(StatusCacheManager.java:273)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.refreshStatus(FileModificationManager.java:179)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.resourceChanged(FileModificationManager.java:128)
    at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
    at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
    at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
    at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Він зупиняється при завантаженні com.android.ide.eclipse.adt

Що не так з моїм верстаком?

Екран запуску Eclipse


1
Схоже --clean, нічого не робить, тоді як -clean(один дефіс), здається, насправді має ефект (у моєму випадку використовується Eclipse Neon)
Крістофер Шульц,

Відповіді:


146

DISCLAIMER: THIS WILL DELETE ALL OF YOUR ECLIPSE WORKSPACE SETTINGS AND YOU WILL HAVE TO RE-IMPORT ALL YOUR PROJECTS, THERE ARE LESS DESTRUCTIVE ANSWERS HERE

Спробуйте наступне:

  1. Видаліть папку .metadata у вашій локальній робочій області (це те, що мені вдалося ). Здається, що він містить файл .LOCK, який, якщо його не правильно закрити, заважає запустити eclipse належним чином. У системах, заснованих на Unix, ви можете ввести наступне в командному рядку;

    rm -r workspace/.metadata
    
  2. Видаліть каталог .eclipse у своєму домашньому каталозі. Запуск затемнення. Якщо це не працює,

  3. Відкрийте eclipse під іншим обліковим записом користувача. Якщо він завантажується, ви знаєте, що проблема у вашому обліковому записі, а не у встановленні eclipse.


це сталося зі мною після того, як я помилково натиснув Файл-> перезапустити.
nurnachman

68
У більшості випадків це rm workspace/.metadata/.lockпрацює для мене. Не забудьте розпочати затемнення, використовуючи ./eclipse -clean -refreshвсе, що спробуєте. Дякуємо, що навчили нас mv .eclipse .eclipse.old, що сьогодні не допомогло. Сьогодні це допомогло видалити workspace/.metadata/.plugins/. Усі плагіни фактично працювали після цього. Деякі налаштування зникли. Потім ви можете використовувати Import...для імпорту всіх наявних проектів одночасно. Видалення workspace/.metadata- останній вибір, але працює. Ви можете тримати, workspace/.metadata/.mylynякщо не хочете втрачати свої завдання.
сулай

Велике спасибі за це! Врятував мені багато зусиль, коли Eclipse перестав різко реагувати..Стаковерфф скелі, а також і громада!
HungryForKnowledge

3
Просто видаліть файл .lock - не потрібно втрачати всі налаштування!
слот

7
видалення .lock мені не допомогло, але видалення .metadata/.plugins/org.eclipse.core.resources/.snapдопомогло
serge

92

Процедура, показана на http://off-topic.biz/uk/eclipse-hangs-at-startup-showing-only-the-splash-screen/, у мене спрацювала:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Почніть затемнення. (Це повинно відображати повідомлення про помилку або порожню робочу область, оскільки жоден проект не знайдено.)
  4. Закрийте всі відкриті вкладки редакторів.
  5. Вихідне затемнення.
  6. rm -rf org.eclipse.core.resources (Видалити щойно створений каталог.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Відновити початковий каталог.)
  8. Почніть затемнення і починайте працювати. :-)

В інших відповідях:

eclipse -clean -clearPersistedState

згадується - що, здається, має такий самий чи навіть кращий ефект.

Ось сценарій для MacOS (з використанням Macports) та Linux (протестований на Ubuntu з Eclipse Equinox), щоб розпочати з необов’язкового знищення запущеного затемнення. Можливо, ви захочете адаптувати сценарій до своїх потреб. Якщо ви додаєте нові платформи, відредагуйте сценарій прямо у цій відповіді.

#!/bin/bash
# WF 2014-03-14
#
# ceclipse:
#   start Eclipse cleanly
#
#   this script calls eclipse with -clean and -clearPersistedState
#   if an instance of eclipse is already running the user is asked
#   if it should be killed first and if answered yes the process will be killed
#
# usage: ceclipse
#

#
# error
#
#   show an error message and exit
#
#   params:
#     1: l_msg - the message to display
error() {
  local l_msg="$1"
  echo "error: $l_msg" 1>&2
  exit 1 
}

#
# autoinstall
#
#  check that l_prog is available by calling which
#  if not available install from given package depending on Operating system
#
#  params: 
#    1: l_prog: The program that shall be checked
#    2: l_linuxpackage: The apt-package to install from
#    3: l_macospackage: The MacPorts package to install from
#
autoinstall() {
  local l_prog=$1
  local l_linuxpackage=$2
  local l_macospackage=$3
  echo "checking that $l_prog  is installed on os $os ..."
  which $l_prog 
  if [ $? -eq 1 ]
  then
    case $os in 
      # Mac OS
      Darwin) 
        echo "installing $l_prog from MacPorts package $l_macospackage"        
        sudo port install $l_macospackage
      ;;
      # e.g. Ubuntu/Fedora/Debian/Suse
      Linux)
        echo "installing $l_prog from apt-package $l_linuxpackage"        
        sudo apt-get install $l_linuxpackage
      ;;
      # git bash (Windows)
      MINGW32_NT-6.1)
        error "$l_prog ist not installed"
      ;;
      *)
        error "unknown operating system $os" 
    esac
  fi
}

# global operating system variable
os=`uname`

# first set 
#  eclipse_proc - the name of the eclipse process to look for
#  eclipse_app - the name of the eclipse application to start
case $os in 
    # Mac OS
    Darwin) 
      eclipse_proc="Eclipse.app" 
      eclipse_app="/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse"
      ;;
    # e.g. Ubuntu/Fedora/Debian/Suse
    Linux)
      eclipse_proc="/usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar"
      eclipse_app=`which eclipse`
      ;;
    # git bash (Windows)
    MINGW32_NT-6.1)
      eclipse_app=`which eclipse`
      error "$os not implemented yet"
      ;;
    *)
      error "unknown operating system $os" 
esac

# check that pgrep is installed or install it
autoinstall pgrep procps

# check whether eclipse process is running
# first check that we only find one process
echo "looking for $eclipse_proc process"
pgrep -fl "$eclipse_proc"
# can't use -c option on MacOS - use platform independent approach 
#eclipse_count=`pgrep -cfl "$eclipse_proc"`
eclipse_count=`pgrep -fl "$eclipse_proc" | wc -l | tr -d ' '`

# check how many processes matched
case $eclipse_count in
  # no eclipse - do nothing
  0) ;;
  # exactly one - offer to kill it
  1) 
     echo "Eclipse is running - shall i kill and restart it with -clean? y/n?"
       read answer
       case $answer in
         y|Y) ;;
           *) error "aborted ..." ;;
       esac
     echo "killing current $eclipse_proc"
     pkill -f "$eclipse_proc"
     ;;
  # multiple - this is bogus
  *) error "$eclipse_count processes matching $eclipse_proc found - please adapt $0";;
esac

tmp=/tmp/eclipse$$
echo "starting eclipse cleanly ... using $tmp for nohup.out"
mkdir -p $tmp
cd $tmp

# start eclipse with clean options
nohup $eclipse_app -clean -clearPersistedState&

1
Дякую! це кращий підхід, ніж просто видалення всієї папки .metadata. це спрацювало ідеально
Якоб

1
Набагато краще. Допоміг на Kepler на Mac OS X Mavericks
Роберт Сеземанн

5
Це "eclipse -clean -clearPersistedState" мені допомогло, дякую!
Міхал

2
-clean -clearPersistedState працював у мене в Aptana Studio 3 на перемогу 7
Лоренц Хаазе

2
eclipse -clean -clearPersistedState Працював у Kepler Win 7
Yitzchak

37
./eclipse -clean -refresh

як згадано у коментарі сулая 20 грудня 12 о 12:46, це спрацювало для мене.

Однак на Mac OS X мені довелося зрозуміти, як дістатися до ./eclipse

Ось рішення:

cd Eclipse.app/Contents/MacOS/

Дякую за коментар Ендрю до цього допису: https://stackoverflow.com/a/1783448/2162226


2
Спочатку мені довелося відкрити нову робочу область (я назвав її test) за допомогою -clean -refresh. І коли Eclipse (у моєму випадку це був GGTS) ​​відкрився, я вибрав Файл> Переключити робочу область і повернувся до робочої області, яка спочатку спричинила проблему заморожування.
pm_labs

На Eclipse Luna додаток насправді є лише файлом, немає потреби в компакт-диску в папці. Просто біг ./eclipse -clean -refreshце виправив для мене
Sirens

20

Найкраще рішення, яке я знайшов - це видалити цей файл: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench


2
В затемненні індиго. Спробуйте rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Гір

1
Це прояснило цю проблему для мене за допомогою TIBCO BusinessWorks Design Studio для Windows 7.
Алекс Бейненсон,

на моєму MacBook pro 12 ", це рішення для мене спрацювало найкраще
ironmantis7x

12

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

workspaceFolder.metadata.plugins \ org.eclipse.core.resources


Видалення цього одного файлу спрацювало у мене майже кожного разу, коли Eclipse зависає під час запуску. Дякую!
Джозеф

видалення файлу .snap у мене спрацювало для Eclipse Mars - 4.5.1 (на Mac El Capitan)
hashcoder

Працював у мене у JBoss Developer Studio 10
Томас

11

Я вирішив видалити * .snap з каталогу робочої області (та всіх підкаталогів):

метадані \. плагіни \ *. оснащення


1
Це врятувало мене від втрати всіх налаштувань!
tprk77

8

Досить старе запитання, але найпростіша відповідь ще не розміщена.
Ось воно:
1) У файлі [workspace]\.metadata\.plugins\org.eclipse.e4.workbench видалення workbench.xmi .
У більшості випадків цього достатньо - спробуйте завантажити Eclipse.
Тим не менш, вам доведеться переналаштувати свої конкретні параметри перспективи (якщо такі є)

2) Зараз виникають проблеми з будівельними проектами, які працювали ідеально? З мого досвіду допомагають наступні кроки:
- зніміть прапорець Проекти-> Автоматично будувати
- перейти на перспективу Java (якщо ще немає): Вікно -> Відкрити перспективу -> Java
- знайдіть перегляд Проблем або відкрийте його: Вікно -> Показати подання -> Проблеми
- клацніть правою кнопкою миші на проблемних групах та виберіть Видалити . Обов’язково видаліть помилки Lint
- очистіть робочу область: Проект -> Очистити ... з опцією Очистити всі проекти
- поставте прапорець Проекти-> Створити автоматично
- якщо у деяких проектів проблеми не зникають: клацніть проект правою кнопкою миші, виберіть Властивості -> Androidі переконайтесь, що вибрано відповідну ціль побудови проекту

3) Мені завжди було достатньо. Але якщо проблеми все-таки виникають - спробуйте рекомендації @george post


Дякую! Ніщо інше не працювало, окрім видалення workbench.xmi
Просто Крейг

6

Наступна процедура працювала на моїй MacOS (Mavericks) та Eclipse Luna 4.4.1:

Видаліть файл .snap під шляхом "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Якщо ви не знаєте, як перейти до цієї папки на Mac, натисніть Cmd + Shift + G (Перейти до папки) і введіть повну адресу, до якої ви хочете перейти.




2

Ви повинні видалити папку org.eclipse.e4.workbench всередині metadata.plugins \, яку ви можете знайти у папці робочої області. Видалення цієї папки вирішило проблему для мене, сподіваюся, це допоможе комусь іншому!



0

Існує багато можливих причин такої поведінки. На додаток до запуску з підказки оболонки, як у вас є, варто шукати підказки у файлі журналу робочої області, який є файлом .metadata / .log у каталозі робочої області - NPE, який вам пропонується, здається, він міг би робити з самим кодом реєстрації, але журнал все одно може допомогти визначити, що відбувалося до помилки.

Пошук в Інтернеті повідомлень, які ви знайдете, часто дає поради щодо видалення різних каталогів або файлів та їх початку заново. Іноді мені вдається просто видалити частини .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml, однак для менш руйнівних рішень.


0

Проблема з видаленням файлів у каталозі .metadata полягає в тому, що вам довелося б запустити робочий стіл з нуля. Отже, може знадобитися деякий час, щоб відновити всі свої проекти, особливо якщо у вас їх кілька. Відновлення .metadata з резервної копії, просто замінивши існуючі файли на старі резервні, працювало для мене.


0

Також може допомогти завантаження та збереження робочої області за допомогою нової версії eclipse:

Я використовую eclipse 3.8. При запуску заставний екран зависає. У журналі не було повідомлень про помилки. Що допомогло, так це відкрити робочу область за допомогою eclipse 4.2.2. Після відкриття та закриття робочого простору я зміг завантажити його знову за допомогою 3.8.


0

Після деякого дослідження щодо дат файлів я вирішив ту ж проблему (що є випадково повторюваною проблемою на моєму Kepler), просто видаливши наступний файл у моїй локальній робочій області: .metadata.plugins \ org.eclipse.jdt.core \ variablesAndContainers.dat

з незначним впливом на відновлення робочого простору.

Сподіваюся, це може допомогти комусь іншому ...


0

У вашій робочій області ви знайдете приховану назву папки .metadata, в якій ви знайдете іншу приховану папку ".mylyn", видаліть її та очистіть свій кошик, перейдіть до диспетчера завдань, зупиніть процес Eclipse і почніть знову Eclipse, цього разу він запрацює.

Насолоджуйтесь!


0

Ось менш руйнівний метод, який спрацював для мене:

Я працюю на машині Windows із копією Spring Tool Suite (розширення Eclipse), яку я запускаю із довільного каталогу. У моїй командному рядку, я повинен був перейти в каталог , який містить мою STS.exeі виконайте команду: STS.exe -refresh.

Після цього я міг відкрити свій Eclipse звичайним способом (через закріплений значок на панелі завдань).


0

Отримайте резервну копію папки .metadata / .plugin / org.eclipse.core.resources, а потім видаліть цю папку та запустіть eclipse. Це має запустити робочу область, але всі проекти будуть втрачені, оскільки org.eclipse.core.resources зберігає список усіх проектів.

Потім закрийте eclipse належним чином і скопіюйте назад org.eclipse.core.resources із резервної копії в папку .metadata / .plugins /, перевизначивши існуючу.

Відкрите затемнення, і всі справи повинні нормально працювати з усіма вашими проектами.


0

Замерзання затьмарення під час запуску - перед завантаженням робочої області дуже хороша відповідь на цю публікацію. повторюючи відповідь, яка мені спрацювала

У каталозі робочої області виконайте такі дії:

cd .metadata / .plugins

mv org.eclipse.core.resources org.eclipse.core.resources.bak

Почніть затемнення. (Це повинно відображати повідомлення про помилку або порожню робочу область, оскільки жоден проект не знайдено.)

Закрийте всі відкриті вкладки редакторів.

Вихідне затемнення.

rm -rf org.eclipse.core.resources (Видалити щойно створений каталог.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Відновити початковий каталог.)

Почніть затемнення і починайте працювати. :-)

Відповідь CharlesB


-1

Жодне з вирішень не допомогло мені в моєму випадку.

Однак я знайшов робоче рішення. Я читав, що це трапляється, коли плагін ADT не оновлюється належним чином у Eclipse.

Solution
From Eclipse. . .
1. Go to Help Tap
2. Click Check for Updates

Оновіть все і ого! Більше не замерзає при запуску Eclipse!


-1

Я не пробував усіх цих. Я перезапустив ноутбук / машину. І після цього все прийшло в норму.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.