title: Eclipse ERROR class not found javax.annotation.PreDestroy cannot be found
body: <p>I fresh installed JDK 12.0.2 and Eclipse2019, but when start Eclipse, it shows a error. Please help. Here below is the error log.
  Things below is just to make sure the question have enough "words" instead of code.</p>
  
  <p>================IGNORE=========================
  It is apparent that mutual understanding and respect are crucial. Hardly can any one achieve success in his career without this. When we are in the workplace, mutual understanding and respect also should be emphasized.For example, you may have a different perspective on how a task will proceed with your college, if you understand that it is natural that people could have different perspectives because of diverse upbringing and education,  quarrels could be avoided and a solution might be found. Also,if you respect one another at work, automatically you will be able to earn respect in return. And one of the biggest benefits of respecting one another in workplace is that you begin to improve relationships and a friendly and productive working environment can be created.
  When it comes to the team spirit and communication, all of us ought to see it in perspective. Fortunately, with the society commercializing and competition becoming fierce, a substantial number of people are paying due attention to it. It is apparent that we are supposed to be aware of the importance of team spirit and communication, especially in workplace.Hardly can anyone achieve success in his career without the assistance of his colleagues and communication with his partners. As grows increasingly fierce, we must defeat our rivals through powerful team work. Take basketball star Yao Ming for an example. He can slam the duck smartly because all his teammates contribute more or less to his outstanding performance. If we work separately, we will be confined to frail minds and limited resources. On the basis of the analysis above, we may draw a conclusion that team spirit and communication really count in this competitive society. Therefore, we should associate ourselves harmoniously with our companions in every attempt towards our goals. In addition, it is indispensable to train our kids frequently to interact smoothly with others in a team. As the frequently-quoted proverb goes, unity is strength.
  =============IGNORE============================</p>
  
  <pre><code>!SESSION 2019-07-22 11:26:48.052 -----------------------------------------------
  eclipse.buildId=4.7.3.M20180330-0640
  java.version=12.0.2
  java.vendor=Oracle Corporation
  BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
  Framework arguments:  -product org.eclipse.epp.package.java.product
  Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
  
  !ENTRY org.eclipse.osgi 4 0 2019-07-22 11:27:20.197
  !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:410)
      at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
      at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
      at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
      at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
      at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
      at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
      at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
      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:567)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
  Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
      at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
      at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
      ... 22 more
  Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
      ... 24 more
  
  !ENTRY org.eclipse.e4.ui.workbench 4 0 2019-07-22 11:27:20.210
  !MESSAGE FrameworkEvent ERROR
  !STACK 0
  java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
      at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
      at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
      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:178)
      at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
      at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
      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:168)
      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:835)
  Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
      ... 21 more
  </code></pre>