title: Eclipse can't open JSP editor
body: <p>Eclipse Platform - Version: 3.8.1, under Ubuntu 16.04</p>
  
  <p>I have a webapp group of files I opened with a general Eclipse project. In here I got java and jsp files to work with.</p>
  
  <p>I read that I could want to use another editor to better visualize and work with my code, so I downloaded the Marketplace and suggested plugins (Eclipse Web Developer Tools, Eclipse Plug-in Development Environment, Eclipse Java Web Developer Tools, Eclipse Java Development Tools) so I could switch to JAVA EE perspective and start the JSP Editor.</p>
  
  <p>Done so, when I try to open any .jsp file I get the usual error others occurs in I paster below.</p>
  
  <p>I suspect that Eclipse uses an uncorrect Java version, but can't find a way to check which it is. I read it should be in the file eclipse.ini in /usr/lib/eclipse but that file doesn't have references to anything similar (it should have a line with a <code>-vm</code>, which I have none).</p>
  
  <p>I don't have ideas and hope some of you can enlight me!</p>
  
  <p>Here is the Eclipse error:</p>
  
  <pre><code>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.
  
  java.lang.NoClassDefFoundError: org/eclipse/wst/sse/core/internal/IExecutionDelegate
  at java.lang.Class.getDeclaredConstructors0(Native Method)
  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
  at java.lang.Class.getConstructor0(Class.java:3075)
  at java.lang.Class.newInstance(Class.java:412)
  at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
  at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
  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:268)
  at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
  at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:264)
  at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:235)
  at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:875)
  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.EditorReference.getEditor(EditorReference.java:289)
  at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2949)
  at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2854)
  at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2846)
  at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2797)
  at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
  at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2793)
  at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2777)
  at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:338)
  at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:180)
  at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
  at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3562)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3186)
  at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
  at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
  at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
  at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
  at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
  at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
  at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
  at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
  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:353)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
  at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
  Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.wst.sse.core (383).
      at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
      at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.getDeclaredConstructors0(Native Method)
      at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
      at java.lang.Class.getConstructor0(Class.java:3075)
      at java.lang.Class.newInstance(Class.java:412)
      at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
      at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
      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:268)
      at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:264)
      at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:235)
      at org.eclipse.ui.internal.EditorManager.createPart(EditorManager.java:875)
      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.PartPane.setVisible(PartPane.java:315)
      at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
      at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
      at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
      at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
      at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
      at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
      at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597)
      at org.eclipse.ui.internal.PartStack.add(PartStack.java:493)
      at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
      at org.eclipse.ui.internal.PartStack.add(PartStack.java:479)
      at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
      at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
      at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
      at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
      at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)
      at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707)
      at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)
      at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2946)
      ... 33 more
  Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.wst.sse.core.internal.SSECorePlugin.start() of bundle org.eclipse.wst.sse.core.
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
      at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
      at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
      at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
      at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      ... 77 more
  Caused by: java.lang.NoClassDefFoundError: com/ibm/icu/util/StringTokenizer
      at org.eclipse.wst.sse.core.utils.StringUtils.unpack(StringUtils.java:734)
      at org.eclipse.wst.sse.core.internal.tasks.TaskScanningJob.projectHasNotBeenFullyScanned(TaskScanningJob.java:129)
      at org.eclipse.wst.sse.core.internal.tasks.TaskScanningJob.addProject(TaskScanningJob.java:95)
      at org.eclipse.wst.sse.core.internal.tasks.TaskScanningScheduler.enqueue(TaskScanningScheduler.java:138)
      at org.eclipse.wst.sse.core.internal.tasks.TaskScanningScheduler.startup(TaskScanningScheduler.java:118)
      at org.eclipse.wst.sse.core.internal.SSECorePlugin.start(SSECorePlugin.java:90)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
      ... 83 more
  Caused by: java.lang.ClassNotFoundException: com.ibm.icu.util.StringTokenizer
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:455)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
      at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      ... 92 more
  </code></pre>