diff --git a/vscode-extensions/commons-vscode/src/launch-util.ts b/vscode-extensions/commons-vscode/src/launch-util.ts index f1eaba2d4..bd96cc855 100644 --- a/vscode-extensions/commons-vscode/src/launch-util.ts +++ b/vscode-extensions/commons-vscode/src/launch-util.ts @@ -155,16 +155,6 @@ export function activate(options: ActivatorOptions, context: VSCode.ExtensionCon let javaExecutablePath = jvm.getJavaExecutable(); clientOptions.outputChannel.appendLine("Found java executable: " + javaExecutablePath); - let version = jvm.getMajorVersion(); - if (version<11) { - VSCode.window.showErrorMessage( - `Spring Tools Language Server requires Java 11 or higher to be launched. Current Java ${javaExecutablePath}.\n - \n - (Note Java 8 can still be used in your own projects. Java 11 is only required to launch the Spring Tools Language Server process)`, - {} - ); - return; - } clientOptions.outputChannel.appendLine("isJavaEightOrHigher => true"); if (process.env['SPRING_LS_USE_SOCKET']) { diff --git a/vscode-extensions/vscode-bosh/lib/Main.ts b/vscode-extensions/vscode-bosh/lib/Main.ts index be34ba06c..89629ecb1 100644 --- a/vscode-extensions/vscode-bosh/lib/Main.ts +++ b/vscode-extensions/vscode-bosh/lib/Main.ts @@ -47,6 +47,12 @@ export function activate(context: VSCode.ExtensionContext) { synchronize: { configurationSection: "bosh" } + }, + checkjvm: (context: VSCode.ExtensionContext, jvm: commons.JVM) => { + let version = jvm.getMajorVersion(); + if (version < 17) { + throw Error(`Bosh Language Server requires Java 17 or higher to be launched. Current Java version is ${version}`); + } } }; let clientPromise = commons.activate(options, context).then(client => client.start()); diff --git a/vscode-extensions/vscode-concourse/lib/Main.ts b/vscode-extensions/vscode-concourse/lib/Main.ts index dc71260ec..671274558 100644 --- a/vscode-extensions/vscode-concourse/lib/Main.ts +++ b/vscode-extensions/vscode-concourse/lib/Main.ts @@ -47,6 +47,12 @@ export function activate(context: VSCode.ExtensionContext) { scheme: 'file' } ] + }, + checkjvm: (context: VSCode.ExtensionContext, jvm: commons.JVM) => { + let version = jvm.getMajorVersion(); + if (version < 17) { + throw Error(`Concourse Language Server requires Java 17 or higher to be launched. Current Java version is ${version}`); + } } }; let clientPromise = commons.activate(options, context).then(client => client.start()); diff --git a/vscode-extensions/vscode-manifest-yaml/lib/Main.ts b/vscode-extensions/vscode-manifest-yaml/lib/Main.ts index d3fdbe545..97aec5216 100644 --- a/vscode-extensions/vscode-manifest-yaml/lib/Main.ts +++ b/vscode-extensions/vscode-manifest-yaml/lib/Main.ts @@ -40,6 +40,12 @@ export function activate(context: VSCode.ExtensionContext) { scheme: 'file' } ] + }, + checkjvm: (context: VSCode.ExtensionContext, jvm: commons.JVM) => { + let version = jvm.getMajorVersion(); + if (version < 17) { + throw Error(`Cloudfoundry Manifest YAML Language Server requires Java 17 or higher to be launched. Current Java version is ${version}`); + } } }; commons.activate(options, context).then(client => client.start()); diff --git a/vscode-extensions/vscode-spring-boot/lib/Main.ts b/vscode-extensions/vscode-spring-boot/lib/Main.ts index 40fe8216a..530e3a73e 100644 --- a/vscode-extensions/vscode-spring-boot/lib/Main.ts +++ b/vscode-extensions/vscode-spring-boot/lib/Main.ts @@ -30,6 +30,11 @@ export function activate(context: VSCode.ExtensionContext): Thenable { + let version = jvm.getMajorVersion(); + if (version < 17) { + throw Error(`Spring Tools Language Server requires Java 17 or higher to be launched. Current Java version is ${version}`); + } + if (!jvm.isJdk()) { VSCode.window.showWarningMessage( 'JAVA_HOME or PATH environment variable seems to point to a JRE. A JDK is required, hence Boot Hints are unavailable.',