Cannot create Eclipse workspace
Asked Answered
L

5

9

Today I downloaded Eclipse Neon. When I ran it for the first time it asked me to select a folder as my workspace. After doing this it throws me an error which redirects me to a log file inside the folder I selected to save my workspace:

!SESSION 2016-11-08 18:30:23.149 -----------------------------------------------
eclipse.buildId=4.6.1.M20160907-1200
java.version=9-ea
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=el_GR
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 2016-11-08 18:35:48.594
!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:535)
    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.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:424)
    ... 24 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-11-08 18:35:48.918
!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.lang.Thread.run(java.base@9-ea/Thread.java:843)
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.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:424)
    ... 21 more

Sorry for the long post. Any ideas?

Lemieux answered 8/11, 2016 at 16:45 Comment(6)
java.version=9-ea? You might want to change this at least to run Eclipse.Glassware
A class in the javax package cannot be found. That is part of the jre/jdk. Try reinstalling java with a current stable version.Machellemachete
why do i have to change java.version?Lemieux
Eclipse doesn't support Java 9 yet. Use Java 8Meri
i have jdk 8 installedLemieux
The log entries clearly show you are using Java 9 to run Eclipse.Meri
M
18

You are starting Eclipse using Java 9. This currently does not work with recent builds of Java 9.

Eclipse bug 493761 describes this problem and is currently scheduled to be fixed in Eclipse 4.6.2 (Neon.2)

Until Eclipse 4.6.2 is available use a Java 8 JDK to run Eclipse.

Update:

To run Eclipse with Java 9 you need to modify the 'eclipse.ini' file in your Eclipse installation and add the line:

--add-modules=ALL-SYSTEM

as a line following the -vmargs line in the file. This adds the Java 9 module containing the missing classes.

Eclipse Oxygen.1a (4.7.1a) due for release on 11 October 2017 will have full Java 9 support.

Also see Configuring Eclipse for Java 9 in the Eclipse wiki.

Meri answered 8/11, 2016 at 17:36 Comment(1)
I had the same error while launching GitEye, where my Java version is 10.0.1. Even though GitEye's requirements said JRE 8 or newer. This is the only answer that worked for me.Mud
B
6

Made it to work in OSX Sierra by adding the following:

--add-modules=java.se.ee

at the end of eclipse.ini

Benitobenjamen answered 26/5, 2017 at 4:38 Comment(0)
E
5

Works for me using the most recent Java 9 early access build b143 and Neon Release 4.6.0

Just add

--add-modules=java.annotations.common

to the eclipse ini after -vmargs

Excisable answered 9/11, 2016 at 15:39 Comment(0)
S
1

Adding --add-modules=java.se.ee, after -vmargs in STS.ini or eclipse.ini will solve the launching issue.

-vmargs
--add-modules=java.se.ee
-Dosgi.requiredJavaVersion=1.8
-Xms40m
-Dosgi.module.lock.timeout=10
-Xverify:none
-Dorg.eclipse.swt.browser.IEVersion=10001
-Xmx1200m

refer to the link: https://bugs.eclipse.org/bugs/show_bug.cgi?id=493761 for more information

Sold answered 22/9, 2017 at 18:48 Comment(0)
D
0

I've just had same issue today, the issue in my case was because I was using jdk 11, good tip about the eclipse.ini file, in my case it was indicating clearly it was expecting to use jdk 8, downloaded that version, replaced the jdk path in the env params and it is working now.

Deutoplasm answered 12/5, 2020 at 15:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.