Java (or the JVM) is the Cobol of the 21st century. There is such a large amount of software written for it, representing such a large economic investment, that it won't be replaced anytime soon. That is the reason Cobol is _still_ around. It's why Java will be around for a long time.
Exactly my thoughts. Replacement, if any, would be in form of older institutions/companies themselves get replaced by new generation e-commerce/financial services/banks etc.
I would say Java is more comparable to C++. Language-wise the syntax of the two is similar, they came from around the same generation of languages, and they both have a prolific community and ginormous codebases. Also similar to C++, there are MANY different implementations and flavors, even entire languages built on the Java VM. By this measure no languages come close to C++ and Java.
While some new languages have prettier syntax and interesting constructs, Java remains a viable platform despite it's warts. I would guess more production code today (even new) is still written in Java or c++ than anything else.
Java gets a lot of flak around here but its really not so bad when you use modern versions (JDK 8) with modern libraries (Apache Commons or Guava). Even Eclipse is surprisingly good now, defying my expectations years ago that it would remain buggy and hard to use forever. I learned Java in the last year and it's now my favorite language besides c#.
Eclipse (and other modern IDEs) is the killer feature that most other languages don't have. (With the notable exception of C# and Visual Studio as the counterparts to Java / Eclipse.)
A large code base written in a language that does not have tooling to do automatic refactoring cannot be maintained for as long a time. Gets scrapped sooner and rewritten. Especially in dynamic languages. A dynamic language may be much faster to prototype and get your initial code base written. But just try maintaining it for ten years. Twenty. Etc.