title: Eclipse editor won't open
body: <h2>My Eclipse cannot show the editor window.</h2>
  
  <p><strong>Error:</strong></p>
  
  <blockquote>
    <p>Could not open the editor: The editor class could not be instantiated.
    This usually indicates a missing no-arg constructor or that the
    editor's class name was mistyped in plugin.xml.</p>
  </blockquote>
  
  <p><strong>Notes:</strong></p>
  
  <ul>
  <li>I'm using different Eclipse (and not plug-ins) for C++ and Python - and they work flawlessly, it's just the java eclipse that is causing troubles.</li>
  <li>I've already tried re-installing eclipse, and even reinstalling java. any idea?</li>
  <li>It has no troubles displaying the project file, it's "just" the *.java and *.class files that cannot be opened.</li>
  </ul>
  
  <p><strong>Stack trace</strong></p>
  
  <pre><code>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.&lt;init&gt;(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
  </code></pre>
  
  <p><strong>EDIT:</strong></p>
  
  <p>eclipse version: 3.6.2
  <br>eclipse.ini file:</p>
  
  <pre><code>-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
  </code></pre>
  
  <p><strong>EDIT 2:</strong> 
  <br>I changed the workspace and it fixed the problem (for the new workspace at least) but still - no idea why it happened. (though I am still curious, so I leave this question open).</p>