While Java devs are fighting with the eclipse issue of the day, generating wsdls, deploying wars, making annotated glorified structs for typed json/xml/both (except in some cases when they just go with a Map<Map<....,String>,String>), and so forth, those other dynamic languages get out of the developer's way and let them solve their problem with less fuss.
Java's not a terrible option. But it's rarely the best option, especially for Right Now, though it may become the best option later when enough competing concerns have cropped up.
Here you don't even have to write code for controllers or db connections for basic CRUD HATEOAS REST service. Spring takes care of it. The model still needs getters and setters, but you can avoid this with Lombok
If all you need is a basic CRUD service, there are even easier options in the PHP/Rails/etc. world. If you have a schema for your data, it's pretty much one command away to generate such a CRUD service. Some of them even give you a nice looking out of the box web interface too. So you're not really selling me... And my day job is in Java, we're pretty modern with Java 8, Jetty 9, Spring, etc. but it still ends up being something like this: https://ptrthomas.files.wordpress.com/2006/06/jtrac-callstac...
Spring Boot may be a bit nicer than the most out of the way method I used years ago (now at https://github.com/stoicflame/enunciate/wiki) which did use Spring for some things, but it's really still far away from what dynamic languages and their ecosystems offer.
Honestly, I think just because it's so exceptionally un-cool. PHP may not be that cool either, but Facebook uses (has used?) it, and it's at least not as strict and "enterprise-y" as Java.
Java's not a terrible option. But it's rarely the best option, especially for Right Now, though it may become the best option later when enough competing concerns have cropped up.