nvim-jdtls VS mason.nvim

Compare nvim-jdtls vs mason.nvim and see what are their differences.

nvim-jdtls

Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls (by mfussenegger)

mason.nvim

Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters. (by williamboman)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nvim-jdtls mason.nvim
75 108
926 6,816
- -
7.0 7.7
about 2 months ago 1 day ago
Lua Lua
GNU General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nvim-jdtls

Posts with mentions or reviews of nvim-jdtls. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-09.
  • Having the worst time trying to use JDTLS
    1 project | /r/neovim | 11 Dec 2023
    I recommend that you do not configure jdtls like the other language servers, it is better to use the nvim-jdtls plugin.
  • Noob here, would neovim work for my usecase
    2 projects | /r/neovim | 9 Dec 2023
    Java is actually pretty good with Neovim, jdtls and this plugin. One of the best language servers and I'm using it on a regular base with medium to large projects, mostly spring-based. No Android though.
  • Client 2 quit with exit code 1 and signal 0 when opening a .java files
    2 projects | /r/neovim | 10 Nov 2023
    -- See `:help vim.lsp.start_client` for an overview of the supported `config` options. local config = { -- The command that starts the language server -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line cmd = { -- 💀 'java', -- or '/path/to/java17_or_newer/bin/java' -- depends on if `java` is in your $PATH env variable and if it points to the right version. '-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/plugins/org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ -- Must point to the Change this to -- eclipse.jdt.ls installation the actual version -- 💀 '-configuration', '~/.local/share/nvim/mason/packages/jdtls/config_linux', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ -- Must point to the Change to one of `linux`, `win` or `mac` -- eclipse.jdt.ls installation Depending on your system. -- 💀 -- See `data directory configuration` section in the README '-data', '/path/to/unique/per/project/workspace/folder' }, -- 💀 -- This is the default if not provided, you can remove it. Or adjust as needed. -- One dedicated LSP server & client will be started per unique root_dir root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), -- Here you can configure eclipse.jdt.ls specific settings -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request -- for a list of options settings = { java = { } }, -- Language server `initializationOptions` -- You need to extend the `bundles` with paths to jar files -- if you want to use additional eclipse.jdt.ls plugins. -- -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation -- -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this init_options = { bundles = {} }, } -- This starts a new client & server, -- or attaches to an existing client & server depending on the `root_dir`. require('jdtls').start_or_attach(config)
  • Foot – A fast, lightweight and minimalistic Wayland terminal emulator
    1 project | news.ycombinator.com | 23 Sep 2023
    I can get by with https://github.com/mfussenegger/nvim-jdtls
  • [HELP] ftplugin and lazy loading in NvChad
    2 projects | /r/neovim | 11 Jun 2023
    This and this provided no viable solutions for me
  • Anyone using nvim for Kotlin development?
    1 project | /r/nvim | 30 May 2023
  • Help for configure jdtls
    1 project | /r/neovim | 16 May 2023
    I tried to configure jdtls for my NeoVim I followed https://github.com/mfussenegger/nvim-jdtls install instruction. and I faced this error does anyone successfully configured jdtls ? help T ^ T
  • Adding JAR files to nvim-jdtls
    1 project | /r/neovim | 6 May 2023
    Am I adding it to the wrong configuration option? Some places I see it added as a referencedLibary - https://github.com/mfussenegger/nvim-jdtls
  • Does anyone config java for neovim?
    7 projects | /r/neovim | 25 Apr 2023
    Sure. Any server that lspconfig supports will work. But for java development is better if you use nvim-jdtls. The documentation in lsp-zero has a guide on how to setup nvim-jdtls.
  • I can't seem to figure it out
    3 projects | /r/neovim | 24 Apr 2023
    Here' my java.lua for nvim-jdtls which solves the nil issue and add more features.

mason.nvim

Posts with mentions or reviews of mason.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • I can't stand using VSCode so I wrote my own (it wasn't easy)
    10 projects | news.ycombinator.com | 21 Apr 2024
  • Using a venv with Neovim's Python LSP
    2 projects | dev.to | 5 Apr 2024
    I recently started coding with Neovim using kickstart.nvim as the template for my editor configuration. I downloaded the python-lsp-server package using Mason, but I was disappointed to discover that the IntelliSense on my third party dependencies didn't work. The LSP was resolving to my global Python installation, which did not have the packages from my virtual environment (venv) installed.
  • Do I need NeoVIM?
    11 projects | /r/neovim | 7 Dec 2023
    https://github.com/hrsh7th/nvim-cmp This is an autocompletion engine https://github.com/nvim-treesitter/nvim-treesitter This allows NeoVim to install parsing scripts so NeoVim can do things like code highlighting. https://github.com/williamboman/mason.nvim Not strictly necessary, but allows you to access a repo of LSP, install them, and configure them for without you actively messing about in config files. https://github.com/neovim/nvim-lspconfig Also not strictly necessary, but vastly simplifies LSP setup. https://github.com/williamboman/mason-lspconfig.nvim This lets the above two plugins talk to each other more easily.
  • Do I need a plugin manager ?
    3 projects | /r/neovim | 7 Dec 2023
    I'm using mason.nvim to install my dependencies, I've this snippet at nvim/plugin/mason.lua so after cloning my dotfiles I can just run:
  • Mason can't install gopls (or gofumpt, or goimports)
    2 projects | /r/neovim | 6 Dec 2023
    The suggestion from this thread fixed it for me. I just needed to unset GOOS and GOARCH then restart neovim.
  • Neovim documentation is pretty bad
    1 project | /r/neovim | 18 Jul 2023
    For instance, I'm trying to install rust-analyzer in lazyvim from https://github.com/williamboman/mason.nvim. The installation instructions are:
  • LazyVim
    32 projects | news.ycombinator.com | 16 Jul 2023
  • How do you enable semantic highlighting for Python?
    4 projects | /r/neovim | 7 Jul 2023
    I have pyright installed via mason which apparently support "semantic token highlighting" but have been having a hard time getting these colors to show up in a buffer. It seems Neovim has changed how it handles semantic highlighting a few times so there's still some conflicting information online. It's hard to know what's current and what's not. Any help would be greatly appreciated.
  • language server not installed or missing from path
    1 project | /r/neovim | 5 Jul 2023
    Use mason to install the language servers you want.
  • Why is nobody using CoC anymore?
    3 projects | /r/neovim | 3 Jul 2023
    Because null-ls.nvim & mason.nvim together do everything I wanted CoC for

What are some alternatives?

When comparing nvim-jdtls and mason.nvim you can also consider the following projects:

nvim-lspconfig - Quickstart configs for Nvim LSP

lazy-lsp.nvim - Neovim plugin to auto install LSP servers

eclipse.jdt.ls - Java language server

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!

null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

coc-java - Java extension for coc.nvim

omnisharp-vim - Vim omnicompletion (intellisense) and more for C#

java-debug - The debug server implementation for Java. It conforms to the debug protocol of Visual Studio Code (DAP, Debugger Adapter Protocol).

formatter.nvim

neoformat - :sparkles: A (Neo)vim plugin for formatting code.