You can do this with sudo update-alternatives
:
# Adding a new alternative for "java".
sudo update-alternatives --install /usr/bin/java java /media/mydisk/jdk/bin/java 1
# Setting the new alternative as default for "java".
sudo update-alternatives --config java
You have to do this for other jdk components too. These components are appletviewer
, extcheck
, idlj
, jar
, jarsigner
, java
, javac
, javadoc
, javah
, javap
, javaws
, jconsole
, jdb
, jexec
, jhat
, jinfo
, jmap
, jps
, jrunscript
, jsadebugd
, jstack
, jstat
, jstatd
, keytool
, mozilla-javaplugin.so
, native2ascii
, orbd
, pack200
, policytool
, rmic
, rmid
, rmiregistry
, schemagen
, serialver
, servertool
, tnameserv
, unpack200
, wsgen
, wsimport
, xjc
.
For further information, you can see the man pages for update-alternatives
: man update-alternatives
.
The command update-java-alternatives
sets alternatives for java components and it seems to use update-alternatives
for this.
EDIT: The answer above targets Java 6.
- For Java 7, you have to add
jcmd
to the Java 6 list.
- For Java 8, you have to add
jcmd
, jjs
and jdeps
to the Java 6 list.
- For Java 9, you have to add
jcmd
, jjs
, jdeps
and jshell
to the Java 6 list.