Java failed as a portable language-agnostic VM for user-facing apps.
You know, the use-case it was originally designed for. (I read the hype for Java 1.0, I was there.)
Nobody at the time could imagine that Java would eventually become the enterprise COBOL replacement.