Unable to use nvim-jdtls

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • eclipse.jdt.ls

    Java language server

  • ````` local nvim_jdtls_status_ok, nvim_jdtls = pcall(require, "jdtls") if not nvim_jdtls_status_ok then return end local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') local workspace_dir = '~/workspaces/' .. project_name -- local capabilities = vim.lsp.protocol.make_client_capabilities() -- capabilities = require('cmp_nvim_lsp').update_capabilities() local config = { -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line cmd = { -- Instead of manually configuring i used the script from bin 'python3.9', '/path-to-home/.local/share/nvim/lsp_servers/jdtls/bin/init.py', '-data', workspace_dir }, -- One dedicated LSP server & client will be started per unique root_dir found root_dir = require('jdtls.setup').find_root({ '.git', 'mvnw', 'gradlew', 'pom.xml', '.gitignore', '.gitattributes' }), -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/running-the-java-ls-server-from-the-command-line#initialize-request settings = { java = { referenceCodeLens = { enabled = true }, format = { enabled = true, insertSpaces = true }, codeGeneration = { tostring = { listArrayContents = true, skipNullValues = true }, useBlocks = true, hashCodeEquals = { useInstanceof = true, useJava7Objects = true }, generateComments = true, insertLocation = true }, maven = { downloadSources = true, updateSnapshots = true } } }, init_options = { bundles = {} } } local opts = { noremap = true, silent = true } vim.api.nvim_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) vim.api.nvim_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) vim.api.nvim_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) vim.api.nvim_set_keymap("n", "gk", "lua vim.lsp.buf.hover()", opts) vim.api.nvim_set_keymap("n", "gK", "lua vim.lsp.buf.signature_help()", opts) vim.api.nvim_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) vim.api.nvim_set_keymap("n", "cr", "lua vim.lsp.buf.references()", opts) vim.api.nvim_set_keymap("n", "cd", "lua vim.lsp.buf.definition()", opts) vim.api.nvim_set_keymap("n", "cD", "lua vim.lsp.buf.declaration()", opts) vim.api.nvim_set_keymap("n", "cr", "lua vim.lsp.buf.references()", opts) vim.api.nvim_set_keymap("n", "ci", "lua vim.lsp.buf.implementation()", opts) vim.api.nvim_set_keymap("n", "ca", "lua vim.lsp.buf.code_action()", opts) vim.api.nvim_set_keymap("n", "cx", "lua vim.diagnostic.open_float()", opts) vim.api.nvim_set_keymap("n", "[d", 'lua vim.diagnostic.goto_prev({ border = "rounded" })', opts) vim.api.nvim_set_keymap( "n", "gl", 'lua vim.lsp.diagnostic.show_line_diagnostics({ border = "rounded" })', opts) vim.api.nvim_set_keymap("n", "]d", 'lua vim.diagnostic.goto_next({ border = "rounded" })', opts) vim.api.nvim_set_keymap("n", "q", "lua vim.diagnostic.setloclist()", opts) nvim_jdtls.start_or_attach(config)

  • dotfiles

    Personal dotfiles (by jemag)

  • Don't have much time to investigate right now, but it does work for me. I can jump to definition and it does work also for Spring annotations. Feel free to check my config if you want, mostly https://github.com/jemag/dotfiles/blob/master/neovim/.config/nvim/lua/lsp/configs/jdtls-conf.lua and https://github.com/jemag/dotfiles/blob/master/bin/bin/java-lsp.sh

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • .dotfiles

    Personal dotfiles (by ikws4)

  • You can check my jdtls config, hope it will help you.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts