
Neovim + Java LSP on a Play Framework sbt Project — The Missing Guide
The short answer sbt-eclipse generates Eclipse project files, JDTLS consumes them. That's the bridge. Everything else is configuration details. If you're here, you've probably already tried Metals, hit a wall, and googled your way to disappointment. Here's the setup that actually works. Context Our project: Play Framework 3.x, Java (not Scala), sbt, 7 submodules, ~3,000 source files, heavy code generation (OpenAPI, Avro, WSDL). The rest of the team uses IntelliJ. I use Neovim. There were exactly zero documented success stories for this combination online. The closest I found was a discussion on nvim-metals where people tried Metals and hit the same wall. Why Metals won't work Metals understands sbt natively. Great. But its Java support is minimal — no completions, no hover, no organize imports. A Metals maintainer explicitly stated : "I can't imagine the case when somebody wants to use Metals on a full-java project." Fair enough. Why JDTLS doesn't work out of the box JDTLS (Eclipse's J
Continue reading on Dev.to
Opens in a new tab


