[ https://issues.apache.org/jira/browse/DIRSTUDIO-1170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16369541#comment-16369541 ]
Stefan Seelmann commented on DIRSTUDIO-1170: -------------------------------------------- See linked issue, workaround until Studio is upgraded to Eclispe Oxygen platform is to add "--add-modules=ALL-SYSTEM" to the end of the ApacheDirectoryStudio.ini file. This is only required for Oracle Java 9 (tested with 9.0.4), OpenJDK 9 enables that flag by default. > Java9 startup failed: org.eclipse.e4.core.di.InjectionException: > java.lang.NoClassDefFoundError: javax/annotation/PostConstruct > ------------------------------------------------------------------------------------------------------------------------------- > > Key: DIRSTUDIO-1170 > URL: https://issues.apache.org/jira/browse/DIRSTUDIO-1170 > Project: Directory Studio > Issue Type: Bug > Components: studio-rcp > Affects Versions: 2.0.0-M13 > Reporter: Graham Leggett > Priority: Major > > After upgrading Java to v9.0.4 on MacOS Sierra, and upgrading ADS to > v2.0.0-M13, ADS crashes on startup as follows: > > !ENTRY org.eclipse.core.jobs 2 2 2018-02-19 19:20:44.586 > !MESSAGE Job found still running after platform shutdown. Jobs should be > canceled by the plugin that scheduled them during shutdown: > org.apache.directory.studio.common.core.jobs.StudioProgressMonitor$1 > !SESSION 2018-02-19 19:41:57.838 > ----------------------------------------------- > eclipse.buildId=unknown > java.version=9.0.4 > java.vendor=Oracle Corporation > BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_ZA > Framework arguments: /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > Command-line arguments: -os macosx -ws cocoa -arch x86_64 > /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > > !ENTRY org.eclipse.osgi 4 0 2018-02-19 19:42:03.403 > !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:632) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) > at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) > at org.apache.directory.studio.Application.start(Application.java:51) > 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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > 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.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 24 more > > !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-02-19 19:42:03.413 > !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:176) > 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:202) > at > org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165) > at java.base/java.lang.Thread.run(Thread.java:844) > Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy > cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 21 more > !SESSION 2018-02-19 19:42:12.960 > ----------------------------------------------- > eclipse.buildId=unknown > java.version=9.0.4 > java.vendor=Oracle Corporation > BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_ZA > Framework arguments: /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > Command-line arguments: -os macosx -ws cocoa -arch x86_64 > /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > > !ENTRY org.eclipse.osgi 4 0 2018-02-19 19:42:14.997 > !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:632) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) > at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) > at org.apache.directory.studio.Application.start(Application.java:51) > 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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > 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.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 24 more > > !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-02-19 19:42:15.004 > !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:176) > 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:202) > at > org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165) > at java.base/java.lang.Thread.run(Thread.java:844) > Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy > cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 21 more > !SESSION 2018-02-19 19:49:04.617 > ----------------------------------------------- > eclipse.buildId=unknown > java.version=9.0.4 > java.vendor=Oracle Corporation > BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_ZA > Framework arguments: /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > Command-line arguments: -os macosx -ws cocoa -arch x86_64 > /studio-rcp/resources/icons/linux/studio.xpm -keyring > /Users/minfrin/.eclipse_keyring > > !ENTRY org.eclipse.osgi 4 0 2018-02-19 19:49:07.010 > !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:632) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) > at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) > at org.apache.directory.studio.Application.start(Application.java:51) > 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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > 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.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 24 more > > !ENTRY org.eclipse.e4.ui.workbench 4 0 2018-02-19 19:49:07.018 > !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:176) > 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:202) > at > org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165) > at java.base/java.lang.Thread.run(Thread.java:844) > Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy > cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927 > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) > at > org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) > ... 21 more > -- This message was sent by Atlassian JIRA (v7.6.3#76005)