Редактор Eclipse не открывается - PullRequest
30 голосов
/ 22 июня 2011

Мой Eclipse не может показать окно редактора.

Ошибка:

Не удалось открыть редактор: не удалось создать экземпляр класса редактора. Это обычно указывает на отсутствующий конструктор без аргументов или на то, что имя класса редактора было опечатано в plugin.xml.

Примечания:

  • Я использую разные Eclipse (и не плагины) для C ++ и Python - и они работают безупречно, это всего лишь java-затмение, которое вызывает проблемы.
  • Я уже пытался переустановить Eclipse и даже переустановить Java. есть идеи?
  • У него нет проблем с отображением файла проекта, это «просто» файлы * .java и * .class, которые нельзя открыть.

трассировка стека

org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.jdt.ui (150).
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:121)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
    at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:235)
    at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:845)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:609)
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
    at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1429)
    at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:942)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
    at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
Caused by: org.osgi.framework.BundleException: The activator org.eclipse.jdt.internal.ui.JavaPlugin for bundle org.eclipse.jdt.ui is invalid
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:156)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
    at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
    ... 57 more
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jdt/core/IBufferFactory
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:151)
    ... 63 more
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.jdt.core (140).
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:121)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
    at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:466)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 69 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.jdt.core.JavaCore.start() of bundle org.eclipse.jdt.core.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
    at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
    ... 78 more
Caused by: java.lang.NullPointerException
    at org.eclipse.core.runtime.Path.<init>(Path.java:183)
    at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:181)
    at org.eclipse.jdt.internal.core.ExternalFoldersManager.isExternalFolderPath(ExternalFoldersManager.java:90)
    at org.eclipse.jdt.internal.core.JavaProject.addToResult(JavaProject.java:2738)
    at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2688)
    at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2783)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.getRootInfos(DeltaProcessingState.java:301)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRootsWithPreviousSession(DeltaProcessingState.java:271)
    at org.eclipse.jdt.internal.core.JavaModelManager.startup(JavaModelManager.java:4712)
    at org.eclipse.jdt.core.JavaCore.start(JavaCore.java:5048)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    ... 84 more

EDIT:

версия Eclipse: 3.6.2
файл eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m

РЕДАКТИРОВАТЬ 2:
Я изменил рабочее пространство, и это устранило проблему (по крайней мере, для нового рабочего пространства), но все же - понятия не имею, почему это произошло. (хотя мне все еще любопытно, поэтому я оставляю этот вопрос открытым).

Ответы [ 13 ]

30 голосов
/ 22 июня 2011

Это часто проблема с временными файлами, сохраняемыми плагинами eclipse.Проверьте YOUR_WORKSPACE / .metadata / .plugins / org.eclipse.jdt.core / Есть много файлов индекса.Иногда это помогает удалить их.Также начните свое затмение с -clean.

Но я думаю, что ваша проблема немного другая.У вас была ссылка на библиотеку (jar-файл) где-то в вашей файловой системе?Если вы удалили или переместили его, eclipse не сможет создать ваши проекты.

Вы обновили все свои проекты?

С уважением, Флориан

12 голосов
/ 27 февраля 2013

У меня такая же проблема, хотя мое затмение намного новее - 4.2 (Юнона). Для меня решение было удалить <workspace>/.metadata/.plugins/org.eclipse.core.resources/.snap. Впоследствии я обнаружил эту ошибку в eclipse.org: Ошибка 178988 - Сбой при запуске из-за файлов .snap .

Надеюсь, это кому-нибудь поможет.

3 голосов
/ 22 июня 2011

Google эту ошибку, и вы получите множество попаданий в различные (Eclipse) IDE и плагины. Похоже, что нет записей о реальных «исправлениях», кроме той, которую вы узнали, где создаете новое рабочее пространство.

3.6.2.r362_v20110210 - версия, которую я использую. Вы уверены, что находитесь на 3.6.2? Вы первый раз редактируете списки

-startup плагины / org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar --launcher.library плагины / org.eclipse.equinox.launcher.win32.win32.x86_1.1.2. R36x_v20101222

, который, кажется, указывает на более старый выпуск.

Я согласен с другим постером, что вы обязательно должны найти и / или опубликовать это в системе отслеживания ошибок Eclipse. Это самое меньшее, что вы можете сделать, когда используете программное обеспечение с открытым исходным кодом.

3 голосов
/ 22 июня 2011
at org.eclipse.core.runtime.Path.<init>(Path.java:183)
at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:181)
at org.eclipse.jdt.internal.core.ExternalFoldersManager.isExternalFolderPath(ExternalFoldersManager.java:90)
at org.eclipse.jdt.internal.core.JavaProject.addToResult(JavaProject.java:2738)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2688)

Похоже, что трассировка стека указывает на проблему с вашим путем к классу.

  1. Возможно, ваш JRE указывает на неверное местоположение / не определено?(Окно-> Настройки-> Java-> Установленные JRE).
  2. Возможно, ваш проект содержит недопустимые записи пути к классам?Попробуйте создать новый проект Java и проверьте, работает ли он так, как ожидалось.Если это работает, проверьте путь к классу вашего не работающего проекта.

Редактировать: Другая идея ... запустить затмение в другом рабочем пространстве.Затем создайте конфигурацию запуска для «Eclipse Configuration» с рабочим пространством, которое выдает ошибку.Установите точку останова исключения Java для NullPointerException.Запустите в режиме отладки, и вы можете проверить переменные, чтобы увидеть, какой путь вызывает проблемы.

1 голос
/ 21 октября 2014

Я попробовал пару вариантов

  1. удалить файлы кэша в .plugins
  2. удалить все индексные файлы в <workspace>/.metadata/.plugins/org.eclipse.jdt.core
  3. удалить файл оснастки в <workspace>/.metadata/.plugins/org.eclipse.core.resources/.snap
  4. -clean в качестве параметра запуска
  5. -initialize в качестве параметра запуска

Но я продолжаю возвращать ошибку случайно.

Пока что единственная работающая опция - это удаление файла .snap, при первом запуске eclipse после удаления файла .snap все работает нормально.

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

Более того, если мы закроем и возобновим затмение, проблема вернется случайно.

0 голосов
/ 27 июня 2019

Когда я столкнулся с этой проблемой. Я просто обновил затмение, и оно решило проблему.

0 голосов
/ 16 мая 2019

Здесь было просто. Щелкните правой кнопкой мыши в классе и выберите параметр / open with / Java Editor или Generic Text Editor.

Aqui foi simples. Нажмите здесь, чтобы перейти к списку действий или открыть окно / открыть ком / Редактор Java или Редактор текстов Genérico.

0 голосов
/ 24 апреля 2019

Я столкнулся с той же проблемой. Это было в основном вызвано несоответствием версии jarclipse jar версии. Сначала у меня было jadclipse_3.2.1.jar, но потом я обновился до net.sf.jadclipse_3.3.0.jar. Решил проблему.

0 голосов
/ 19 февраля 2015

Для меня это сработало, чтобы удалить рабочее пространство / .metadate / .lock и затем перезапустить, используя eclispe -clean -refresh

0 голосов
/ 21 октября 2014

Удаление файлов индекса, как предлагали другие, в моем случае не помогло.Мне пришлось сбросить перспективу: щелкните правой кнопкой мыши кнопку переключения перспективы «Java» в правом верхнем углу, выберите «Сброс».По крайней мере, это лучше, чем воссоздание всего рабочего пространства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...