The tooling and ecosystem aren’t great compared to some of these languages, but Java itself can be pretty damn good.
I used to be a hater many years ago but I’ve since grown to love it.
One of my complaints with Gradle is that if you write a plugin (Java) it shares the classpath with other plugins. You might find some other plugin depending on some old version of a transitive dependency.
People have their problems with Maven but unless it's some overly complicated legacy project (where npm just explodes I guess? Like I have hD windows machines get frozen from deleting the node_modules folder), it just works and you just give a list of dependencies.
An example of this ossification of understanding is how people still think dotnet is Windows only because they stopped caring before Core/Modern dotnet became a thing
I too would like some illustration of why the tooling (Intellij, etc) is insufficient. Maybe gradle as a build system? Although I have to say with LLMs, gradle build scripting is a LOT easier to "build" out.