Getting error no main manifest attribute in org.eclipse.equinox.jar & warning using incubator modules #585
-
The farthest I got is this:
my lazy.nvim config: lazy.nvim config {
"mfussenegger/nvim-jdtls",
ft = "java",
config = function()
require "custom.configs.nvim_jdtls"
end,
}, I use NvChad (dir structure). plugin config: plugin configlocal data_dir = vim.fn.stdpath('data')
local config = {
cmd = {
'java',
-- '/usr/lib/jvm/java-17-openjdk-amd64/bin/java', -- same output
'-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',
'-Xmx1g',
'--add-modules=ALL-SYSTEM',
'--add-opens', 'java.base/java.util=ALL-UNNAMED',
'--add-opens', 'java.base/java.lang=ALL-UNNAMED',
'-jar', data_dir .. '/mason/packages/jdtls/features/org.eclipse.equinox.executable_3.8.2200.v20230717-2134.jar',
'-configuration', data_dir .. '/mason/packages/jdtls/config_linux',
'-data', '/tmp/tmp'
},
root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}),
settings = {
java = {
}
},
}
require('jdtls').start_or_attach(config) Same output if you execute: java command# /usr/lib/jvm/java-17-openjdk-amd64/bin/java \
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 \
-Xmx1G \
--add-modules=ALL-SYSTEM \
--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
-jar ~/.local/share/nvim/mason/packages/jdtls/features/org.eclipse.equinox.executable_3.8.2200.v20230717-2134.jar \
-configuration ~/.local/share/nvim/mason/packages/jdtls/config_linux \
-data /tmp/tmp Java version:
I tried opening P.S. Previously I used |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
You need to use the correct jar file. From the readme: You're using |
Beta Was this translation helpful? Give feedback.
-
Ok, so I fiddle with different things and different configurations, and in the end I think I figure out the MWA (Using NvChad). lazy.nvim {
"mfussenegger/nvim-jdtls",
ft = "java",
dependencies = "neovim/nvim-lspconfig",
config = function()
require "custom.configs.nvim_jdtls"
end,
}, custom.configs.nvim_jdtlslocal default_config = require "plugins.configs.lspconfig"
local jdtls_setup = require "jdtls.setup"
local data_dir = vim.fn.stdpath "data"
local home = os.getenv "HOME"
local jdtls_binary = data_dir .. "/mason/bin/jdtls"
local root_dir = jdtls_setup.find_root { ".git", "mvnw", "gradlew" }
local project_name = vim.fn.fnamemodify(root_dir, ":p:h:t")
local workspace_dir = home .. "/.cache/jdtls/workspace/" .. project_name
require("jdtls").start_or_attach {
cmd = {
jdtls_binary,
"-data",
workspace_dir,
},
on_attach = function(client, bufnr)
jdtls_setup.add_commands()
default_config.on_attach(client, bufnr)
end,
capabilities = default_config.capabilities,
} The only 2 problems are:
/usr/lib/jvm/default-java/bin/java --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=384m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/user/.gradle/wrapper/dists/gradle-8.4-bin/1w5dpkrfk8irigvoxmyhowfim/gradle-8.4/lib/gradle-launcher-8.4.jar -javaagent:/home/user/.gradle/wrapper/dists/gradle-8.4-bin/1w5dpkrfk8irigvoxmyhowfim/gradle-8.4/lib/agents/gradle-instrumentation-agent-8.4.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.4 |
Beta Was this translation helpful? Give feedback.
Ok, so I fiddle with different things and different configurations, and in the end I think I figure out the MWA (Using NvChad).
lazy.nvim
custom.configs.nvim_jdtls