Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-22417

Eclipse will not run with java9 - NoClassDefFoundError

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 4.5.1.Final
    • 4.4.0.Alpha2
    • upstream

    Description

      As of the latest build of Oracle JDK 9, Eclipse Neon M7 will not start.
      Java version:

      $ java -version
      java version "9-ea"
      Java(TM) SE Runtime Environment (build 9-ea+118)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+118, mixed mode)
      

      Error log:

      !ENTRY org.eclipse.osgi 4 0 2016-05-19 11:14:42.241
      !MESSAGE Application error
      !STACK 1
      org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
      	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
      	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
      	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
      	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:490)
      	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:504)
      	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)
      	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:626)
      	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
      	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
      	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
      	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
      	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
      	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
      	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
      	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
      	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
      	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
      	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
      	at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
      Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
      	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
      	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
      	... 22 more
      Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.0.v20160319-0612
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:394)
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:357)
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:349)
      	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
      	at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
      	... 24 more
      
      !ENTRY org.eclipse.e4.ui.workbench 4 0 2016-05-19 11:14:42.248
      !MESSAGE FrameworkEvent ERROR
      !STACK 0
      java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
      	at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:426)
      	at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:154)
      	at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
      	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
      	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
      	at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:175)
      	at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:106)
      	at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:139)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903)
      	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
      	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
      	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
      	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156)
      	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
      	at org.eclipse.osgi.container.Module.doStop(Module.java:634)
      	at org.eclipse.osgi.container.Module.stop(Module.java:498)
      	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:191)
      	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
      	at java.lang.Thread.run(java.base@9-ea/Thread.java:804)
      Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.0.v20160319-0612
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:394)
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:357)
      	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:349)
      	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
      	at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
      	... 21 more
      

      Upstream issue - targeted for Neon.1:
      https://bugs.eclipse.org/bugs/show_bug.cgi?id=493761

      Attachments

        Issue Links

          Activity

            People

              jmaury@redhat.com Jeff MAURY
              exd-mmalina Martin Malina
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: