How do #GNOME Builder users manage LSP binaries? I'm on Fedora Silverblue and having to manually install and manage #JDTLS (the #Java LSP) on the host system along with duplicate JDKs (besides the ones provided by the `org.freedesktop.Sdk.Extension.openjdk` #Flatpak extension) looks like a workaround.

Never start Emacs Eglot for a Java project without a .git/ directory.

This drove me nuts now a second time. Without the .git/ directory, eglot doesn't know where the project's root directory is. Eclipse-jdtls goes all stupid, ignores .classpath, .project and all the package names are marked as wrong.

There are surely ways to tell Eglot where the project root is, but in the end there will be git anyway. Just don't to start your project without. 😜

#eglot #emacs #jdtls #eclipse_jdtls #git

Eglot and eclipse-jdtls, a dream team.

Jdtls sends a non-standard message "language/eventNotification ... Preview features enabled at an invalid source release level 21", non-standard insofar as it is not mentioned in the LSP-specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/

At least Eglot lists the message in its message buffer.

Even me reading the message did not reckon it means: WE'RE ALL SCREWED UP, but keep running and pretend to be OK.

#eclipse_jdtls #jdtls #eclipse #emacs #eglot

Specification

This document describes the 3.17.x version of the language server protocol. An implementation for node of the 3.17.x version of the protocol can be found here.

Rant: Eclipse for Java

I avoid Gradle or Maven. The source setup is like Gradle though

- src/main/java
- src/test/java

and I have a few jars in ./lib . Project import gives me

- a project which is not Java
- main.java as package prefix

But worst: even in 2025 it seems impossible to tell eclipse: use all fucking jars in ./lib on the classpath. WTF.

Ultra-worst: using the jdtls requires to set up the project in eclipse, otherwise it goes ballistic.

#java #eclipse #jdtls #languageserver

Odd, my #nvim configuration had been playing up when editing #Java files recently. Managed to get it working again by disabling the java and #jdtls configurations I had. Did I miss something in a recent update to #AstroNvim that let this work automatically?
If you're getting a NoSuchMethodError in java lombok neovim lsp, just use the latest lombok-edge.jar #java #neovim #jdtls #lsp
@LostNetizen I guess the big enabler that let me move on to #nvim was the transition to micro services at the company I’m at. The monolith is hard to work at in my setup of nvim, intellij still has an edge there. Anyway - for the micro services I have a sweet setup with code completion, code actions etc via #jdtls, nice hints thanks to β€˜trouble’ and snippets via β€˜#cmp’. β€˜#Telescope’ is awesome for navigation and I have noticed that I recall the code base better now.

A few days ago the maintainers of #homebrew accepted my contribution to bring #eclipse #languageserver a.k.a. #jdtls to this #packagemanager 

However, the workflow of accepting a #contribution in #homebrew is weird and frankly a bit disrespectful because my authorship is lost (I'm not even a commiter anymore).

Who can tell which of my PRs got accepted without looking into all comments? https://github.com/Homebrew/homebrew-core/pulls?q=is%3Apr+jdtls

GitHub - Homebrew/homebrew-core: 🍻 Default formulae for the missing package manager for macOS (or Linux)

🍻 Default formulae for the missing package manager for macOS (or Linux) - Homebrew/homebrew-core

GitHub