Introduction
Java is a technology from Oracle (formerly: Sun Microsystems). There are several implementations, of which five will be discussed here:
OpenJDK: The primary goal of the OpenJDK project is to produce an open-source implementation of the Java SE Platform (6 and 7). This is the default version of Java that Ubuntu uses and is the easiest to install.
Oracle (Sun) Java 6: Oracle (Sun) Java 6 is the reference implementation for Java 6.
Oracle Java 7: Oracle Java 7 is the reference implementation for Java 7.
IBM Java: IBM Java is the preferred Java solution on PowerPC machines. It is a reimplementation with a Just-In-Time Compiler. It is only available from IBM's website.
GNU Compiler: A Java compiler made by GNU. Only developers should have to install this.
OpenJDK
Installation of Java Runtime Environment
Install the openjdk-6-jre package using any installation method.
Install the openjdk-7-jre package using any installation method.
Browser plugin
Install the icedtea6-plugin package using any installation method.
Install the icedtea-7-plugin package using any installation method.
This plugin works with the main browsers: Firefox, Chromium, Google Chrome, and Epiphany.
On Konqueror, go to Settings → Configure Konqueror... and from menu select Java & JavaScript, then tick Enable Java globally option.
SDK (Software Development Kit)
Install the openjdk-6-jdk package using any installation method.
Install the openjdk-7-jdk package using any installation method.
Oracle (Sun) Java 6
Oracle (Sun) Java 6 is no longer available to be distributed by Ubuntu, because of license issues.
Important note: Oracle (Sun) Java 6 reaches its End of Life in November, 2012. It is not advisable to install Oracle (Sun) Java 6 unless you have some specific need to do so.
It is recommended that users either migrate to OpenJDK, or switch to Oracle Java 7. Older versions of Oracle (Sun) Java 6 that have been distributed in the past are vulnerable to security exploits, see this announcement for more information.
Probably outdated information about the installation of Oracle Java 6:
JDK or JRE
Downloads the Java binary installers from Oracle, builds the .deb packages locally on your computer and then installs them. Packages are compatible with the “official” Ubuntu ones and will upgrade Java 6 that was previously installed from packages.
You can find the script and full usage instructions on github.
Another instruction it works for Ubuntu 12.04.
Manual method
- oracle java 6 jre 32-bit
$ wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jre-6u31-linux-i586.bin $ chmod u+x jre-6u31-linux-i586.bin $ ./jre-6u31-linux-i586.bin $ sudo mv jre1.6.0_31 /usr/lib/jvm/ $ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0_31/bin/java" 1 $ sudo update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/jre1.6.0_31/lib/i386/libnpjp2.so" 1
or
- oracle java 6 jdk 32-bit
$ wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-i586.bin $ chmod u+x jdk-6u31-linux-i586.bin $ ./jdk-6u31-linux-i586.bin $ sudo mv jdk1.6.0_31 /usr/lib/jvm/ $ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_31/bin/java" 1 $ sudo update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/jdk1.6.0_31/jre/lib/i386/libnpjp2.so" 1
IMPORTANT choose the java you installed as default
$ sudo update-alternatives --config java $ sudo update-alternatives --config mozilla-javaplugin.so
Oracle Java 7
Oracle has recently declared Java 7 to be fit for general use.
Currently there are no .deb packages available for Oracle Java 7. The raw binaries (without installer) can be downloaded directly from Oracle (Oracle Java download page).
Installing Oracle Java 7 by a script or from the command line
You can install the newest and secure Oracle (Sun) Java 7 by a script (JRE only) or by a command line method. Both are easy to apply.
Script (JRE only)
Only supports Oracle (Sun) Java 7 JRE (which covers the needs of 99 % of all computer users). It pulls the packages from Oracle's website and installs them, comparable to the way Adobe Flash Player is being installed. Plus it adds a dedicated repository, from which you'll receive updates automatically.
Command line methods
Do-it-yourself methods, but very easy to apply (basically: you copy/paste some terminal commands).
http://sites.google.com/site/easylinuxtipsproject/java (for JRE, more extensive explanation of the commands than in askubuntu.com)
Using webupd8.org's method has a great benefit in that the package will be updated as Oracle releases Java updates, which means that there will be no need to keep track of updates and reinstall them manually.
A note (hopefully temporary) about the Eugene San PPA for those who are attempting to use it and are having issues: As of the time of this entry, the eugenesan/java PPA is broken. If you have attempted to use it, you may do the following to remove it and use webupd8.org's PPA method (above) instead
$ sudo apt-get install ppa-purge $ sudo ppa-purge ppa:eugenesan/java $ sudo apt-get clean $ sudo apt-get update
There is also an RFE opened on Oracle bugtracker to provide the debian package/installer for Java 7. Please consider voting for this RFE.
Choosing the default Java to use
If your system has more than one version of Java, configure which one your system uses by entering the following command in a terminal window
sudo update-alternatives --config java
This will present you with a selection that looks similar to the following (the details may differ for you):
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ———————————————————— * 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode 1 /usr/lib/jvm/jre1.7.0/jre/bin/java 3 manual mode Press enter to keep the current choice[*], or type selection number: 1
IBM Java
IBM provide JRE and SDK binaries for a number of architectures, including PowerPC. These are available from the IBM Downloads Page, once you have registered.
IBM Java can be easily installed via the provided InstallAnywhere packages, an interactive program that guides you through the installation options. There are two types of InstallAnywhere package:
Installable
- Installing these packages also configures your system.
Archive
- Installing these packages extracts the files to your system, but does not perform any configuration.
You can use either, both require additional configuration with Ubuntu. The 'Installable' package also provides an uninstall option.
To run the downloaded file:
chmod a+x ibm-java-ppc-jre-6.0-10.1.bin sudo ./ibm-java-ppc-jre-6.0-10.1.bin
Extract the file to the directory of your choice.
There are old PowerPC deb packages still in medibuntu (keep clicking refresh if you get 403 forbidden). These are probably the easiest way to install, although they are now lacking security updates, plus the latest browser plugin. For these reasons it is strongly advised that you download a newer http://www-01.ibm.com/support/docview.wss?&uid=swg21394940 directly from the IBM Downloads Page.
Note, you may have to install libstdc++5 and libgtk1.2 packages to use old versions of IBM Java. If you installed a 1.4.2 version, and your processor is not a G5, you may have to perform another step to get it to work. For a G3 or G4, use the following command:
sudo sh -c 'echo "JITC_PROCESSOR_TYPE=6" >> /etc/environment'
For a 604e or 603e, instead use:
sudo sh -c 'echo "JITC_PROCESSOR_TYPE=5" >> /etc/environment'
You will have to log out or restart the computer for this to take effect.
It is not hard to install the latest versions of IBM Java though. IBM's documentation to do so can be found here.
Plugin:
sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /opt/ibm/java/ibm-java-ppc-60/jre/lib/ppc/libnpjp2.so 1 sudo update-alternatives --config mozilla-javaplugin.so
To control which Java the Konqueror web browser uses, go to your KDE system settings. Select Internet & Network -> Web Browser -> Java & JavaScript, and change the Path to Java executable to either /usr/lib/j2sdk1.4-ibm/bin/java or /usr/lib/j2sdk1.5-ibm/bin/java.
Test the installation at the Sun Java test webpage.
GNU Compiler for Java
Install the java-gcj-compat-headless package using any installation method.
To install the development environment, install the java-gcj-compat-dev package using any installation method.
GCJ is a front end to the GCC compiler which can natively compile both Java(tm) source and bytecode files. The compiler can also generate class files. Gcjwebplugin is a little web browser plugin to execute Java applets.
It is targeted for Mozilla and compatible browsers that support the NPAPI. Others include the Eclipse Java Compiler, which is maintained by the Eclipse Foundation. Eclipse is an open-source Integrated development environment (IDE) written primarily in Java. The Eclipse open source community has over 60 open source projects. OpenJDK is the open source Java, derived from sources which will become OpenJDK 7 in the future.