Do Windows XP, Vista, Windows 7 and all Linux distributions have Java JRE installed so end-users don't have to install it to run Java applications?

migrated from stackoverflow.com Jan 29 '10 at 23:00

This question came from our site for professional and enthusiast programmers.


No, not by default (at least for XP and Ubuntu which I know about).

You have to download and install the Sun version if you want it. It may be that some Linux distros include the GNU Java runtimes.

  • To add to this: Mac OS X has a Java VM installed by default, however, it's maintained by Apple and changes versions only along with the operating system. No other options there but at least you can rely on some version of the JRE to exist. – Joey Jan 30 '10 at 0:56
  • Apple includes updates to the JVM without a full minor OS version upgrade. It typically lags behind the sun version though. – Jherico Jan 30 '10 at 5:51

Not by default, but it's quite easy to install it, and if you want your users not to think about it, you could use launch4j which automatically proposes them a link to the latest JRE.

  • Many distributions does not allow any arbitrary user to install programs. – Thorbjørn Ravn Andersen Jan 31 '10 at 22:29

Many Linux distributions include some form of Java, but you cannot be CERTAIN that a suitable JVM is present for your application.

For Ubuntu installing "sun-java6-jdk" is enough to get all you need as a Java deployer.


Since XP, Windows does not include a JRE (and prior to that, the included JRE was Microsoft's version, not the official Java version, so it always lagged behind and had its own issues).

Many Linux distributions come with a JRE installed, but again it's not the official Java version, since that's closed-source. The latest versions of Ubuntu, openSUSE, and Fedora (among many others) use the JRE from openJDK. It works for a lot of Java programs, but not all of them. A lot of applets and Java programs will crash under it. You can install the official version in Linux from either your distribution's package manager or from the Java website.

In some Linux systems (including Ubuntu), you may need to manually set the official JRE as default in order for the system to use that one without you specifically telling it to do so every time. In Debian-based distributions (including Ubuntu) and openSUSE (and likely others), the command to do this is sudo update-alternatives --config java and to enable the offical JRE plugin in the web browser is sudo apt-get install sun-java6-bin sun-java6-plugin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.