Child pages
  • Install or Uninstall Java

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

We provide an shell script in order to facilitate the work:Usually one has to install each java commands, tools or libraries one by one with the following interactive command:

Code Block
languagebash
themeEmacs
user@machine:~$ /usr/lib/jvm$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                             Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/ramdisk-java-8-oracle/jre/bin/java   1073      auto mode
  1            /usr/lib/jvm/default-java/jre/bin/java            1073      manual mode
  2            /usr/lib/jvm/java-8-openjdk-i386/jre/bin/java     1069      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java           1070      manual mode
* 4            /usr/lib/jvm/ramdisk-java-8-oracle/jre/bin/java   1073      manual mode

If your new installed JVM doesn't appear in this list you need to add it manually with:

Code Block
languagebash
themeEmacs
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/default-java/jre/bin/java" 1073;

Check if your added JVM has been processed by running:

Code Block
languagebash
themeEmacs
user@machine:~$ update-alternatives --list java
/usr/lib/jvm/default-java/jre/bin/java
/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java
/usr/lib/jvm/java-8-oracle/jre/bin/java
/usr/lib/jvm/ramdisk-java-8-oracle/jre/bin/java

Doing this task one by one is pretty tedious, we provide a shell script ito facilitate the work. The trick here is to always increment the priority number for a new installed JDK and define a unique alternative name. Here is an excerpt of the man page:

Code Block
languagetext
If the alternative name specified exists already in the alternatives system's records, the information
supplied will be added as a new set of alternatives for the group. Otherwise, a new group, set to auto‐
matic mode, will be added with this information. If the group is in automatic mode, and the newly added
alternatives' priority is higher than any other installed alternatives for this group, the symlinks will
be updated to point to the newly added alternatives.
Code Block
languagebash
themeEmacs
#/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;

...