For most of your java needs Nvpunk uses a language server called jdtls. It’s made by eclipse and overall it’s pretty good, with a feature set comparable to the most popular java IDEs out there.

However it’s quite capricious on how it wants to run.

Jdtls is written in java, but at the time of writing this it needs to be run with a version of java >= 17, regardless of what version your java project actually requires.

You can keep your default java version to whatever you prefer, Nvpunk will automatically detect the correct version to run jdtls, assuming you have it installed.

The detection Nvpunk uses requires Python.

Additional Key Maps

When working on a java project you’ll have access to some additional key maps:

<space>bjrRefresh java debugger configuration
<space>bjcRun current test class
<space>bjnRun nearest test method