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. So it's a loser.