Java used to require JVM to be present on the system, which was fine for monolithic server running a single Java application (were Java succeeded), but not for end user applications.
Now self-contained apps are becoming a thing, which solves the problem Java apps had in the past.