From 597c28c8e81cc8d55a0d1133e76be5d24e233b2d Mon Sep 17 00:00:00 2001 From: nikita2206 Date: Fri, 6 Jun 2025 11:10:36 +0200 Subject: [PATCH] feat: Add Java 21 support to multilspy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update Eclipse JDTLS to vscode-java v1.42.0 with Java 21.0.7 JRE - Update Kotlin language server dependencies to use Java 21 - Update test Maven project to use Java 21 compiler settings - Update runtime configuration from JavaSE-17 to JavaSE-21 - Update dependency versions: lombok 1.18.36, launcher 1.7.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../eclipse_jdtls/eclipse_jdtls.py | 4 +- .../eclipse_jdtls/initialize_params.json | 6 +-- .../eclipse_jdtls/runtime_dependencies.json | 44 +++++++++---------- .../runtime_dependencies.json | 30 ++++++------- test/resources/repos/java/test_repo/pom.xml | 19 +++++++- 5 files changed, 59 insertions(+), 44 deletions(-) diff --git a/src/multilspy/language_servers/eclipse_jdtls/eclipse_jdtls.py b/src/multilspy/language_servers/eclipse_jdtls/eclipse_jdtls.py index 6753bf1..cf16ff3 100644 --- a/src/multilspy/language_servers/eclipse_jdtls/eclipse_jdtls.py +++ b/src/multilspy/language_servers/eclipse_jdtls/eclipse_jdtls.py @@ -300,10 +300,10 @@ class EclipseJDTLS(LanguageServer): d["initializationOptions"]["bundles"] = bundles assert d["initializationOptions"]["settings"]["java"]["configuration"]["runtimes"] == [ - {"name": "JavaSE-17", "path": "static/vscode-java/extension/jre/17.0.8.1-linux-x86_64", "default": True} + {"name": "JavaSE-21", "path": "static/vscode-java/extension/jre/21.0.7-linux-x86_64", "default": True} ] d["initializationOptions"]["settings"]["java"]["configuration"]["runtimes"] = [ - {"name": "JavaSE-17", "path": self.runtime_dependency_paths.jre_home_path, "default": True} + {"name": "JavaSE-21", "path": self.runtime_dependency_paths.jre_home_path, "default": True} ] for runtime in d["initializationOptions"]["settings"]["java"]["configuration"]["runtimes"]: diff --git a/src/multilspy/language_servers/eclipse_jdtls/initialize_params.json b/src/multilspy/language_servers/eclipse_jdtls/initialize_params.json index 5c4cd52..b65b7b6 100644 --- a/src/multilspy/language_servers/eclipse_jdtls/initialize_params.json +++ b/src/multilspy/language_servers/eclipse_jdtls/initialize_params.json @@ -510,8 +510,8 @@ "workspaceCacheLimit": 90, "runtimes": [ { - "name": "JavaSE-17", - "path": "static/vscode-java/extension/jre/17.0.8.1-linux-x86_64", + "name": "JavaSE-21", + "path": "static/vscode-java/extension/jre/21.0.7-linux-x86_64", "default": true } ] @@ -535,7 +535,7 @@ "version": null, "home": "abs(static/gradle-7.3.3)", "java": { - "home": "abs(static/launch_jres/17.0.6-linux-x86_64)" + "home": "abs(static/launch_jres/21.0.7-linux-x86_64)" }, "offline": { "enabled": false diff --git a/src/multilspy/language_servers/eclipse_jdtls/runtime_dependencies.json b/src/multilspy/language_servers/eclipse_jdtls/runtime_dependencies.json index c224c69..1b00040 100644 --- a/src/multilspy/language_servers/eclipse_jdtls/runtime_dependencies.json +++ b/src/multilspy/language_servers/eclipse_jdtls/runtime_dependencies.json @@ -9,53 +9,53 @@ }, "vscode-java": { "darwin-arm64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@darwin-arm64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-darwin-arm64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java" }, "osx-arm64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@darwin-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-darwin-arm64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java", - "jre_home_path": "extension/jre/17.0.8.1-macosx-x86_64", - "jre_path": "extension/jre/17.0.8.1-macosx-x86_64/bin/java", - "lombok_jar_path": "extension/lombok/lombok-1.18.30.jar", - "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar", + "jre_home_path": "extension/jre/21.0.7-macosx-aarch64", + "jre_path": "extension/jre/21.0.7-macosx-aarch64/bin/java", + "lombok_jar_path": "extension/lombok/lombok-1.18.36.jar", + "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.7.0.v20250424-1814.jar", "jdtls_readonly_config_path": "extension/server/config_mac_arm" }, "osx-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@darwin-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-darwin-x64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java", - "jre_home_path": "extension/jre/17.0.8.1-macosx-x86_64", - "jre_path": "extension/jre/17.0.8.1-macosx-x86_64/bin/java", - "lombok_jar_path": "extension/lombok/lombok-1.18.30.jar", - "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar", + "jre_home_path": "extension/jre/21.0.7-macosx-x86_64", + "jre_path": "extension/jre/21.0.7-macosx-x86_64/bin/java", + "lombok_jar_path": "extension/lombok/lombok-1.18.36.jar", + "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.7.0.v20250424-1814.jar", "jdtls_readonly_config_path": "extension/server/config_mac" }, "linux-arm64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@linux-arm64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-arm64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java" }, "linux-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@linux-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-x64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java", - "jre_home_path": "extension/jre/17.0.8.1-linux-x86_64", - "jre_path": "extension/jre/17.0.8.1-linux-x86_64/bin/java", - "lombok_jar_path": "extension/lombok/lombok-1.18.30.jar", - "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar", + "jre_home_path": "extension/jre/21.0.7-linux-x86_64", + "jre_path": "extension/jre/21.0.7-linux-x86_64/bin/java", + "lombok_jar_path": "extension/lombok/lombok-1.18.36.jar", + "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.7.0.v20250424-1814.jar", "jdtls_readonly_config_path": "extension/server/config_linux" }, "win-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@win32-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-win32-x64-1.42.0-561.vsix", "archiveType": "zip", "relative_extraction_path": "vscode-java", - "jre_home_path": "extension/jre/17.0.8.1-win32-x86_64", - "jre_path": "extension/jre/17.0.8.1-win32-x86_64/bin/java.exe", - "lombok_jar_path": "extension/lombok/lombok-1.18.30.jar", - "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar", + "jre_home_path": "extension/jre/21.0.7-win32-x86_64", + "jre_path": "extension/jre/21.0.7-win32-x86_64/bin/java.exe", + "lombok_jar_path": "extension/lombok/lombok-1.18.36.jar", + "jdtls_launcher_jar_path": "extension/server/plugins/org.eclipse.equinox.launcher_1.7.0.v20250424-1814.jar", "jdtls_readonly_config_path": "extension/server/config_win" } }, diff --git a/src/multilspy/language_servers/kotlin_language_server/runtime_dependencies.json b/src/multilspy/language_servers/kotlin_language_server/runtime_dependencies.json index a7b64b9..3568c9d 100644 --- a/src/multilspy/language_servers/kotlin_language_server/runtime_dependencies.json +++ b/src/multilspy/language_servers/kotlin_language_server/runtime_dependencies.json @@ -8,34 +8,34 @@ }, "java": { "win-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@win32-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-win32-x64-1.42.0-561.vsix", "archiveType": "zip", - "java_home_path": "extension/jre/17.0.8.1-win32-x86_64", - "java_path": "extension/jre/17.0.8.1-win32-x86_64/bin/java.exe" + "java_home_path": "extension/jre/21.0.7-win32-x86_64", + "java_path": "extension/jre/21.0.7-win32-x86_64/bin/java.exe" }, "linux-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@linux-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-x64-1.42.0-561.vsix", "archiveType": "zip", - "java_home_path": "extension/jre/17.0.8.1-linux-x86_64", - "java_path": "extension/jre/17.0.8.1-linux-x86_64/bin/java" + "java_home_path": "extension/jre/21.0.7-linux-x86_64", + "java_path": "extension/jre/21.0.7-linux-x86_64/bin/java" }, "linux-arm64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@linux-arm64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-linux-arm64-1.42.0-561.vsix", "archiveType": "zip", - "java_home_path": "extension/jre/17.0.8.1-linux-aarch64", - "java_path": "extension/jre/17.0.8.1-linux-aarch64/bin/java" + "java_home_path": "extension/jre/21.0.7-linux-aarch64", + "java_path": "extension/jre/21.0.7-linux-aarch64/bin/java" }, "osx-x64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@darwin-x64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-darwin-x64-1.42.0-561.vsix", "archiveType": "zip", - "java_home_path": "extension/jre/17.0.8.1-macosx-x86_64", - "java_path": "extension/jre/17.0.8.1-macosx-x86_64/bin/java" + "java_home_path": "extension/jre/21.0.7-macosx-x86_64", + "java_path": "extension/jre/21.0.7-macosx-x86_64/bin/java" }, "osx-arm64": { - "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.23.0/java@darwin-arm64-1.23.0.vsix", + "url": "https://github.com/redhat-developer/vscode-java/releases/download/v1.42.0/java-darwin-arm64-1.42.0-561.vsix", "archiveType": "zip", - "java_home_path": "extension/jre/17.0.8.1-macosx-aarch64", - "java_path": "extension/jre/17.0.8.1-macosx-aarch64/bin/java" + "java_home_path": "extension/jre/21.0.7-macosx-aarch64", + "java_path": "extension/jre/21.0.7-macosx-aarch64/bin/java" } } } diff --git a/test/resources/repos/java/test_repo/pom.xml b/test/resources/repos/java/test_repo/pom.xml index 7df64e1..672f990 100644 --- a/test/resources/repos/java/test_repo/pom.xml +++ b/test/resources/repos/java/test_repo/pom.xml @@ -8,7 +8,22 @@ jar Java Test Repo - 17 - 17 + 21 + 21 + 3.13.0 + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven.compiler.plugin.version} + + 21 + 21 + + + +