Could not determine java version from '17'

3.4k Views Asked by At

When I going to setup my Spring boot project in spring tool suite 4.12.1 as Gradle(STS) project I got error like "Could not determine java version from '17'. But project is used java 11. Gradle version is 6.8.3. I cloned project from git successfully. My machine already installed Java 11. But can not import as Gradle(STS). Could anyone please help me. I am new to spring tool suite.

Below you can see my exception stack trace.

  java.lang.IllegalArgumentException: Could not determine java version from '17'.
        at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:63)
        at org.gradle.api.JavaVersion.current(JavaVersion.java:72)
        at org.gradle.tooling.internal.consumer.ConnectorServices.assertJava6(ConnectorServices.java:58)
        at org.gradle.tooling.internal.consumer.ConnectorServices.createCancellationTokenSource(ConnectorServices.java:40)
        at org.gradle.tooling.GradleConnector.newCancellationTokenSource(GradleConnector.java:74)
        at org.springsource.ide.eclipse.gradle.ui.util.UIJobUtil$1.<init>(UIJobUtil.java:51)
        at org.springsource.ide.eclipse.gradle.ui.util.UIJobUtil.withProgressDialog(UIJobUtil.java:49)
        at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne.populateProjectTree(GradleImportWizardPageOne.java:493)
        at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne.access$11(GradleImportWizardPageOne.java:491)
        at org.springsource.ide.eclipse.gradle.ui.wizards.GradleImportWizardPageOne$9.widgetSelected(GradleImportWizardPageOne.java:429)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4576)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
        at org.eclipse.jface.window.Window.open(Window.java:799)
        at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:153)
        at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:283)
        at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
        at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
        at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:317)
        at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:251)
        at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
        at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
        at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
        at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
        at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
        at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:389)
        at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:366)
        at org.eclipse.ui.internal.views.helpers.EmptyWorkspaceHelper$ImportAction.run(EmptyWorkspaceHelper.java:406)
        at org.eclipse.ui.internal.views.helpers.EmptyWorkspaceHelper$1.linkActivated(EmptyWorkspaceHelper.java:284)
        at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:215)
        at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:309)
        at org.eclipse.ui.forms.widgets.AbstractHyperlink.lambda$3(AbstractHyperlink.java:117)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4576)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

Here session data in error log.

eclipse.buildId=4.12.1.202110260750
java.version=17
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.springframework.boot.ide.branding.sts4
Command-line arguments:  -data file:/home/niro/Documents/workspace-spring-tool-suite-4-4.12.1.RELEASE/ -os linux -ws gtk -arch x86_64 -product org.springframework.boot.ide.branding.sts4
1

There are 1 best solutions below

0
Martin Lippert On

This is most likely caused by the JDK that is used to run the IDE is not supported yet by the Gradle version that is being used by the project. In your case it looks like the IDE is running on the embedded JDK17, which might not be supported yet in Gradle (not sure about that, but the exception looks like that).

You can fix this in two different ways:

One solution is to update the Gradle version that is used in your project. Gradle 7.3 supports JKD17 and switching your project to that version should allow the IDE to import it just fine (usually in the gradle-wrapper.properties file).

The other solution would be to modify the -vm setting in the SpringToolSuite4.ini file and let it point to a java executable from an older JDK (at least JDK11, but maybe your projects Gradle version works with JDK16 as well). After that change, open the IDE again and try to import your project again.