Extensions for the built-in LSP support in Neovim to integrate the Eclipse JDT Language Server for Java development.
nvim-jdtls is a Neovim plugin that integrates the Eclipse JDT Language Server to provide advanced Java development features directly within the editor. It extends Neovim's built-in LSP support with refactoring tools, debugging capabilities, test generation, and other Java-specific functionalities, enabling a powerful, keyboard-driven development workflow.
Experienced Java developers who use Neovim as their primary editor and prefer a configuration-as-code approach over GUI-heavy IDEs. It assumes familiarity with Java build tools like Maven or Gradle.
It offers a lightweight, highly configurable alternative to full IDEs, leveraging Neovim's native LSP client and extensibility. Developers choose it for its simplicity, scriptability, and deep integration with the Eclipse JDT Language Server without leaving the Neovim ecosystem.
MIRROR of: https://codeberg.org/mfussenegger/nvim-jdtls
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides extract variable/method/constant, organize imports, and generate boilerplate code like constructors and toString, as detailed in the Extensions list, enabling precise code manipulation.
Supports debugging applications and JUnit tests via nvim-dap with java-debug and vscode-java-test bundles, offering IDE-like capabilities directly in Neovim, per the Debugger section.
Includes bytecode viewing with javap, memory analysis with jol, and project-aware JShell, leveraging the Eclipse JDT Language Server for deep Java tooling beyond basic LSP.
Follows the KISS principle, allowing experienced users to fully customize their setup through Lua scripts, as emphasized in the Philosophy and Configuration sections.
Requires separate installation of eclipse.jdt.ls, manual bundle configuration for debugging, and data directory management, with multiple troubleshooting steps needed for common failures.
Admits that completion requests can be slow on big projects and aggressive auto-completion plugins may overload the server, impacting responsiveness, as noted in the Troubleshooting section.
Needs Java 21, Python 3.9 for the jdtls script, and Maven/Gradle for full functionality, creating compatibility barriers and additional maintenance overhead.
Advanced features like debugging and test generation require downloading and configuring java-debug and vscode-java-test bundles separately, adding complexity compared to integrated IDEs.
nvim-jdtls is an open-source alternative to the following products:
IntelliJ IDEA is a powerful integrated development environment (IDE) for Java and other JVM languages, developed by JetBrains, known for its intelligent code assistance and productivity features.
A free, open-source code editor developed by Microsoft that supports debugging, embedded Git control, syntax highlighting, and extensions for many programming languages.