Seems you are conflating Java with Java + old Spring (not that older J2EE was any better.)
I find modern Java really nice and the only things that annoy me are runtime type erasure (scheduled to be fixed in Java 9 IIRC) and some niceties such as LINQ.
What drives me away from other cooler alternatives is if not high-ceremony then at least the unfamiliar and annoying (IMO) ceremonies they require.
Java has Maven, which for all its warts is quite stable and mostly just works. Switching between compiling for version 5, 6, 7 or 8 is a one-liner (but we never do anyway because everywhere I deploy I can use 8.)
I find modern Java really nice and the only things that annoy me are runtime type erasure (scheduled to be fixed in Java 9 IIRC) and some niceties such as LINQ.
What drives me away from other cooler alternatives is if not high-ceremony then at least the unfamiliar and annoying (IMO) ceremonies they require.
Java has Maven, which for all its warts is quite stable and mostly just works. Switching between compiling for version 5, 6, 7 or 8 is a one-liner (but we never do anyway because everywhere I deploy I can use 8.)