Configuring and switching Java versions on Linux using alternativessuggest change
Many Linux distributions use the
alternatives command for switching between different versions of a command. You can use this for switching between different versions of Java installed on a machine.
- In a command shell, set $JDK to the pathname of a newly installed JDK; e.g.
alternatives --installto add the commands in the Java SDK to alternatives:
$ sudo alternatives --install /usr/bin/java java $JDK/bin/java 2 $ sudo alternatives --install /usr/bin/javac javac $JDK/bin/javac 2 $ sudo alternatives --install /usr/bin/jar jar $JDK/bin/jar 2 And so on.
Now you can switch between different versions of a Java command as follows:
$ sudo alternatives --config javac There is 1 program that provides 'javac'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/java-1.8.0-openjdk-18.104.22.168-1.b14.fc23.x86_64/bin/javac 2 /Data/jdk1.8.0_67/bin/javac Enter to keep the current selection[+], or type selection number: 2 $
For more information on using
alternatives, refer to the alternatives(8) manual entry.
Arch based installs
Arch Linux based installs come with the command
archlinux-java to switch java versions.
Listing installed environments
$ archlinux-java status Available Java environments: java-7-openjdk (default) java-8-openjdk/jre
Switching current environment
# archlinux-java set <JAVA_ENV_NAME>
# archlinux-java set java-8-openjdk/jre
More information can be found on the Arch Linux Wiki