Java's biggest problem is it's design premise. Java assumed that portability was the biggest computing issue that needed to be addressed. That's not true, outside of a handful of fortune 100 companies.
Complexity is a bigger problem.
Re-use is a bigger problem. Training is a massive problem. Those are the problems that cost real money. What a language needs to do to really succeed is to save a lot of money over the existing art. Java doesn't do that.