title: Eclipse Error: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927
body: <p>I'm trying to install eclipse on my machine with Jave version 16. While installing I'm getting the below error. Any suggestions to overcome this would be greatly appreciated.
  Thanks.
  !SESSION 2021-07-20 18:46:53.334 -----------------------------------------------
  eclipse.buildId=4.6.3.M20170301-0400<code>enter code here</code>
  java.version=16
  java.vendor=Oracle Corporation
  BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_IN
  Framework arguments:  -product org.eclipse.epp.package.jee.product
  Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product</p>
  <pre><code>!ENTRY org.eclipse.osgi 4 0 2021-07-20 18:49:04.893
  !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.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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:567)
  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)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
  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)
  ... 23 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:519)
  ... 25 more
  
  !ENTRY org.eclipse.e4.ui.workbench 4 0 2021-07-20 18:49:04.964
  !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:831)
  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:519)
  ... 21 more
  !SESSION 2021-07-21 12:48:24.183 -----------------------------------------------
  eclipse.buildId=4.6.3.M20170301-0400
  java.version=16
  java.vendor=Oracle Corporation
  BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_IN
  Framework arguments:  -product org.eclipse.epp.package.jee.product
  Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
  
  !ENTRY org.eclipse.osgi 4 0 2021-07-21 12:48:33.116
  !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.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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:567)
  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)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
  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)
  ... 23 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:519)
  ... 25 more
  
  !ENTRY org.eclipse.e4.ui.workbench 4 0 2021-07-21 12:48:33.166
  !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:831)
  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:519)
  ... 21 more
  !SESSION 2021-07-21 13:08:07.954 -----------------------------------------------
  eclipse.buildId=4.6.3.M20170301-0400
  java.version=16
  java.vendor=Oracle Corporation
  BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_IN
  Framework arguments:  -product org.eclipse.epp.package.jee.product
  Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
  
  !ENTRY org.eclipse.osgi 4 0 2021-07-21 13:08:09.590
  !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.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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:567)
  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)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
  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)
  ... 23 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:519)
  ... 25 more
  
  !ENTRY org.eclipse.e4.ui.workbench 4 0 2021-07-21 13:08:09.606
  !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:831)
  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:519)
  ... 21 more
  </code></pre>