Introduction

After checking your Java Environment, downloaded and installed either an Oracle JDK or an Open JDK, now it's time to pack everything together.

At this point, you have a new JVM installed below your /usr/lib/jvm directory, you've a jinfo file tuned to your needs with a unique priority number.

Now it's time to link /etc/alternatives with our new installed JVM. 

We provide an shell script in order to facilitate the work:

 

#/usr/lib/jvm/default-java/jre/bin
sudo update-alternatives --install "/usr/bin/ControlPanel" "ControlPanel" "/usr/lib/jvm/default-java/jre/bin/ControlPanel" 1073;
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/default-java/jre/bin/java" 1073;
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/default-java/jre/bin/javaws" 1073;
sudo update-alternatives --install "/usr/bin/jcontrol" "jcontrol" "/usr/lib/jvm/default-java/jre/bin/jcontrol" 1073;
sudo update-alternatives --install "/usr/bin/jjs" "jjs" "/usr/lib/jvm/default-java/jre/bin/jjs" 1073;
sudo update-alternatives --install "/usr/bin/keytool" "keytool" "/usr/lib/jvm/default-java/jre/bin/keytool" 1073;
sudo update-alternatives --install "/usr/bin/orbd" "orbd" "/usr/lib/jvm/default-java/jre/bin/orbd" 1073;
sudo update-alternatives --install "/usr/bin/pack200" "pack200" "/usr/lib/jvm/default-java/jre/bin/pack200" 1073;
sudo update-alternatives --install "/usr/bin/policytool" "policytool" "/usr/lib/jvm/default-java/jre/bin/policytool" 1073;
sudo update-alternatives --install "/usr/bin/rmid" "rmid" "/usr/lib/jvm/default-java/jre/bin/rmid" 1073;
sudo update-alternatives --install "/usr/bin/rmiregistry" "rmiregistry" "/usr/lib/jvm/default-java/jre/bin/rmiregistry" 1073;
sudo update-alternatives --install "/usr/bin/servertool" "servertool" "/usr/lib/jvm/default-java/jre/bin/servertool" 1073;
sudo update-alternatives --install "/usr/bin/tnameserv" "tnameserv" "/usr/lib/jvm/default-java/jre/bin/tnameserv" 1073;
sudo update-alternatives --install "/usr/bin/unpack200" "unpack200" "/usr/lib/jvm/default-java/jre/bin/unpack200" 1073;
#/usr/lib/jvm/default-java/jre/lib
sudo update-alternatives --install "/usr/bin/jexec" "jexec" "/usr/lib/jvm/default-java/jre/lib/jexec" 1073;
#/usr/lib/jvm/default-java/bin
sudo update-alternatives --install "/usr/bin/appletviewer" "appletviewer" "/usr/lib/jvm/default-java/bin/appletviewer" 1073;
sudo update-alternatives --install "/usr/bin/extcheck" "extcheck" "/usr/lib/jvm/default-java/bin/extcheck" 1073;
sudo update-alternatives --install "/usr/bin/idlj" "idlj" "/usr/lib/jvm/default-java/bin/idlj" 1073;
sudo update-alternatives --install "/usr/bin/jar" "jar" "/usr/lib/jvm/default-java/bin/jar" 1073;
sudo update-alternatives --install "/usr/bin/jarsigner" "jarsigner" "/usr/lib/jvm/default-java/bin/jarsigner" 1073;
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/default-java/bin/javac" 1073;
sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/default-java/bin/javadoc" 1073;
sudo update-alternatives --install "/usr/bin/javafxpackager" "javafxpackager" "/usr/lib/jvm/default-java/bin/javafxpackager" 1073;
sudo update-alternatives --install "/usr/bin/javah" "javah" "/usr/lib/jvm/default-java/bin/javah" 1073;
sudo update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/default-java/bin/javap" 1073;
sudo update-alternatives --install "/usr/bin/javapackager" "javapackager" "/usr/lib/jvm/default-java/bin/javapackager" 1073;
sudo update-alternatives --install "/usr/bin/java-rmi.cgi" "java-rmi.cgi" "/usr/lib/jvm/default-java/bin/java-rmi.cgi" 1073;
sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/lib/jvm/default-java/bin/jcmd" 1073;
sudo update-alternatives --install "/usr/bin/jconsole" "jconsole" "/usr/lib/jvm/default-java/bin/jconsole" 1073;
sudo update-alternatives --install "/usr/bin/jdb" "jdb" "/usr/lib/jvm/default-java/bin/jdb" 1073;
sudo update-alternatives --install "/usr/bin/jdeps" "jdeps" "/usr/lib/jvm/default-java/bin/jdeps" 1073;
sudo update-alternatives --install "/usr/bin/jhat" "jhat" "/usr/lib/jvm/default-java/bin/jhat" 1073;
sudo update-alternatives --install "/usr/bin/jinfo" "jinfo" "/usr/lib/jvm/default-java/bin/jinfo" 1073;
sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/lib/jvm/default-java/bin/jmap" 1073;
sudo update-alternatives --install "/usr/bin/jmc" "jmc" "/usr/lib/jvm/default-java/bin/jmc" 1073;
sudo update-alternatives --install "/usr/bin/jps" "jps" "/usr/lib/jvm/default-java/bin/jps" 1073;
sudo update-alternatives --install "/usr/bin/jrunscript" "jrunscript" "/usr/lib/jvm/default-java/bin/jrunscript" 1073;
sudo update-alternatives --install "/usr/bin/jsadebugd" "jsadebugd" "/usr/lib/jvm/default-java/bin/jsadebugd" 1073;
sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/lib/jvm/default-java/bin/jstack" 1073;
sudo update-alternatives --install "/usr/bin/jstat" "jstat" "/usr/lib/jvm/default-java/bin/jstat" 1073;
sudo update-alternatives --install "/usr/bin/jstatd" "jstatd" "/usr/lib/jvm/default-java/bin/jstatd" 1073;
sudo update-alternatives --install "/usr/bin/jvisualvm" "jvisualvm" "/usr/lib/jvm/default-java/bin/jvisualvm" 1073;
sudo update-alternatives --install "/usr/bin/native2ascii" "native2ascii" "/usr/lib/jvm/default-java/bin/native2ascii" 1073;
sudo update-alternatives --install "/usr/bin/rmic" "rmic" "/usr/lib/jvm/default-java/bin/rmic" 1073;
sudo update-alternatives --install "/usr/bin/schemagen" "schemagen" "/usr/lib/jvm/default-java/bin/schemagen" 1073;
sudo update-alternatives --install "/usr/bin/serialver" "serialver" "/usr/lib/jvm/default-java/bin/serialver" 1073;
sudo update-alternatives --install "/usr/bin/wsgen" "wsgen" "/usr/lib/jvm/default-java/bin/wsgen" 1073;
sudo update-alternatives --install "/usr/bin/wsimport" "wsimport" "/usr/lib/jvm/default-java/bin/wsimport" 1073;
sudo update-alternatives --install "/usr/bin/xjc" "xjc" "/usr/lib/jvm/default-java/bin/xjc" 1073;
#/usr/lib/jvm/default-java/jre/lib/i386
#sudo update-alternatives --install "/usr/bin/firefox-javaplugin.so" "firefox-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/iceape-javaplugin.so" "iceape-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/iceweasel-javaplugin.so" "iceweasel-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/midbrowser-javaplugin.so" "midbrowser-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
sudo update-alternatives --install "/usr/bin/mozilla-plugin.so" "mozilla-plugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/mozilla-javaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/xulrunner-javaplugin.so" "xulrunner-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;
#sudo update-alternatives --install "/usr/bin/xulrunner-1.9-javaplugin.so" "xulrunner-1.9-javaplugin.so" "/usr/lib/jvm/default-java/jre/lib/i386/libnpjp2.so" 1073;

Usually we store those shell scripts under /usr/lib/jvm/tools. This one is called installDefaultJavaAlternatives.sh.

Don't forget to chmod your shell script.

user@machine:~$cd /usr/lib/jvm/tools
user@machine:/usr/lib/jvm/tools$ sudo chmod 744 installDefaultJavaAlternatives.sh 
user@machine:/usr/lib/jvm/tools$ ls -al installDefaultJavaAlternatives.sh 
-rwxr--r-- 1 root root 6814 Jul 12 11:53 installDefaultJavaAlternatives.sh

Then run it:

user@machine:/usr/lib/jvm/tools$ sudo ./installDefaultJavaAlternatives.sh

Then run 

xavier@blueberry