From 66f4f32dc6c7d1da0ce8eaac61a61eb5471d4510 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Wed, 3 Sep 2025 11:36:49 -0400 Subject: [PATCH] Pull out java version into environment variable --- lua/plugins/lsp.lua | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index e8c0328..16adf41 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -13,8 +13,31 @@ return { -- Path to your exported Eclipse/IntelliJ style xml local style_path = vim.fn.expand("~/.config/nvim/GoogleStyle.xml") + local java_home = os.getenv("NVIM_JDTLS_JAVA_HOME") + local config = { - cmd = { "/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home/bin/java", "-Declipse.application=org.eclipse.jdt.ls.core.id1", "-Dosgi.bundles.defaultStartLevel=4", "-Declipse.product=org.eclipse.jdt.ls.core.product", "-Dlog.protocol=true", "-Dlog.level=ALL", "-Xms1g", "--add-modules=ALL-SYSTEM", "--add-opens", "java.base/java.util=ALL-UNNAMED", "--add-opens", "java.base/java.lang=ALL-UNNAMED", "-jar", vim.fn.glob(vim.fn.stdpath("data") .. "/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_*.jar"), "-configuration", vim.fn.glob(vim.fn.stdpath("data") .. "/mason/packages/jdtls/config_mac"), "-data", vim.fn.expand("~/.cache/jdtls-workspace/") .. "/" .. root_dir:gsub(":", "_") }, + cmd = { + java_home .. "/bin/java", + "-Declipse.application=org.eclipse.jdt.ls.core.id1", + "-Dosgi.bundles.defaultStartLevel=4", + "-Declipse.product=org.eclipse.jdt.ls.core.product", + "-Dlog.protocol=true", + "-Dlog.level=ALL", + "-Xms1g", + "--add-modules=ALL-SYSTEM", + "--add-opens", + "java.base/java.util=ALL-UNNAMED", + "--add-opens", + "java.base/java.lang=ALL-UNNAMED", + "-jar", + vim.fn.glob( + vim.fn.stdpath("data") .. "/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_*.jar" + ), + "-configuration", + vim.fn.glob(vim.fn.stdpath("data") .. "/mason/packages/jdtls/config_mac"), + "-data", + vim.fn.expand("~/.cache/jdtls-workspace/") .. "/" .. root_dir:gsub(":", "_"), + }, root_dir = root_dir, settings = { java = { @@ -192,4 +215,4 @@ return { }) end, }, -} \ No newline at end of file +}