diff --git a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageServerProcessStreamConnector.java b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageServerProcessStreamConnector.java index 184fbfdf2..d4344a229 100644 --- a/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageServerProcessStreamConnector.java +++ b/eclipse-language-servers/org.springframework.tooling.ls.eclipse.commons/src/org/springframework/tooling/ls/eclipse/commons/STS4LanguageServerProcessStreamConnector.java @@ -81,6 +81,9 @@ public class STS4LanguageServerProcessStreamConnector extends ProcessStreamConne * @throws MissingToolsJarException If tools jar is needed but could not be found. */ protected File getToolsJAR() throws MissingToolsJarException { + if (!needsToolsJar()) { + return null; + } List lookedIn = new ArrayList<>(); Set jhomes = new LinkedHashSet<>(); File mainHome = new File(System.getProperty("java.home")); @@ -98,7 +101,12 @@ public class STS4LanguageServerProcessStreamConnector extends ProcessStreamConne throw new MissingToolsJarException(mainHome, lookedIn); } - private void findPairedJdk(File mainHome, Consumer requestor) { + protected boolean needsToolsJar() { + int javaVersion = Integer.parseInt(System.getProperty("java.version").split("\\.")[0]); + return javaVersion<9; + } + + protected void findPairedJdk(File mainHome, Consumer requestor) { //Mainly for windows where it is common to have side-by-side install of a jre and jdk, instead of a //nested jre install inside of a jdk.