Java didn't bring any sanity to the table, nor did it solve any deployment problem.
SUN used its 'rewrite everything in Java' mantra to create an ecosystem with no legacy code to manage, and apps so balkanized they could never grow to a full system, and then exploited this situation to avoid thinking about deployment.
In fact, it promoted bad engineering for years to postpone as much as possible tackling the deployment problem, and the attitude got so pervasive it infected SUN Java competitors (don't reuse code, copy it, don't propagate fixes, fork libs, everyone should hardcode classpath dependency chains, use maven to download specific binary artifacts to avoid thinking about code lifecycle, use osgi to pile up jar files without having to sort them, only successful commercial environment: application servers with dedicated sysadmins to sort the mess and the app server trying to salvage deployment because core Java is unable to do it).
As a result more than a decade later, when enough Java code accumulated SUN/Oracle finally has to tackle deployment, they've hit a hard wall of technical debt, and the modularization of Java gets postponed from release to release (it will be in Java 7, oops, let's split java 7 in 7 and 8 with the modularization in 8, oops, 8 will ship without it wait for 9 instead, etc).