--ASCIIux7 (* Equivalent to CentOS 7.2) * Introduced a trial version to WinPC to easily try things that cannot be tried in the guest OS and production environment. --Windows10 Professional * Host OS
I came up with a JDK installation to make a little program in java. I want to use the latest java9 version, but I also want to include java8 for insurance so that it can be easily switched. I've used alternatives before, so I'll post it as a reminder when working while remembering.
This command allows you to manage and switch between multiple versions of software and multiple software with the same functions.
All you have to do is look at the following sites and work (you don't need this article). Many thanks. Java version control with CentOS alternatives
I have the impression that there are not many sites that explain alternatives in detail, but the following documents of VINE LINUX (RPM series) are detailed. Switching standard commands with alternatives
Drop it from the Oracle site. If you want to get it with wget, the method described in the above reference URL is good (although I have not tried it). I downloaded it on the host OS (Windows10pro) and uploaded it to the guest OS (linux) with WinSCP.
Download it referring to the capture. Oracle Technology Network/Java/Java SE/Downloads
Check the license terms and click the file.
This time, I downloaded jdk-9.0.1_linux-x64_bin.rpm
and jdk-8u152-linux-x64.rpm
.
I worked as root. I put the rpm file directly under / root.
rpm file confirmation
[root@asianux7 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg jdk-8u152-linux-x64.rpm jdk-9.0.1_linux-x64_bin.rpm
Install by adding -i
to the rpm command and specifying the file name.
:JDK-9.0.1 installation
[root@asianux7 ~]# rpm -ihv /root/jdk-9.0.1_linux-x64_bin.rpm
Preparing... ################################# [100%]
Updating/During installation...
1:jdk-9.0.1-2000:9.0.1-ga ################################# [100%]
Unpacking JAR files...
plugin.jar...
javaws.jar...
deploy.jar...
:JDK1.8.0 installation
[root@asianux7 ~]# rpm -ihv /root/jdk-8u152-linux-x64.rpm
Preparing... ################################# [100%]
Updating/During installation...
1:jdk1.8-2000:1.8.0_152-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
You now have both versions of the JDK directory.
Confirm installation destination
[root@asianux7 ~]# ls /usr/java/
default/ jdk-9.0.1/ jdk1.8.0_152/ latest/
Register each version of java so that you can switch with alternatives. The last 1 and 2 are priorities. This time, java9 was ranked first. This ranking is meaningful in auto mode. In manual mode, the specified version will be the current version.
alternatives registration
[root@asianux7 ~]# alternatives --install /usr/bin/java java /usr/java/jdk-9.0.1/bin/java 1
[root@asianux7 ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_152/bin/java 2
Check the list of java versions registered in alternatives and the current java version.
The version with +
is the current version.
List of versions, check current version
[root@asianux7 ~]# alternatives --config java
There are 5 programs'java'To provide.
Select command
-----------------------------------------------
1 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.151-2.6.11.1.el7_4.x86_64/jre/bin/java)
* 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java)
+ 3 /usr/java/jdk-9.0.1/bin/java
4 /usr/java/jdk1.8.0_152/jre/bin/java
5 /usr/java/jdk1.8.0_152/bin/java
Press Enter to select the current[+]Or enter the selection number:
[root@asianux7 ~]# java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Remove the indigenous people (openjdk) and jre that you do not plan to use from the list of alternatives.
Remove openjdk, jre from list
[root@asianux7 ~]# alternatives --remove java /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.151-2.6.11.1.el7_4.x86_64/jre/bin/java
[root@asianux7 ~]# alternatives --remove java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
[root@asianux7 ~]# alternatives --remove java /usr/java/jdk1.8.0_152/jre/bin/java
I feel refreshed.
List of versions
[root@asianux7 ~]# alternatives --config java
There are 2 programs'java'To provide.
Select command
-----------------------------------------------
* 1 /usr/java/jdk1.8.0_152/bin/java
+ 2 /usr/java/jdk-9.0.1/bin/java
Press Enter to select the current[+]Or enter the selection number:
java_home can also be switched between java9 series and java8 series.
[root@asianux7 ~]# alternatives --install /usr/local/java_home java_home /usr/java/jdk-9.0.1 1
[root@asianux7 ~]# alternatives --install /usr/local/java_home java_home /usr/java/jdk1.8.0_152 2
[root@asianux7 ~]# alternatives --config java_home
There are 2 programs'java_home'To provide.
Select command
-----------------------------------------------
1 /usr/java/jdk-9.0.1
*+ 2 /usr/java/jdk1.8.0_152
Press Enter to select the current[+]Or enter the selection number:
Check if java_home is created.
java_Home confirmation
[root@asianux7 ~]# ls /usr/local/java_home/
COPYRIGHT README.html THIRDPARTYLICENSEREADME.txt db javafx-src.zip lib release
LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt bin include jre man src.zip
[root@asianux7 ~]# /usr/local/java_home/bin/java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
Since the java version of java_home is 1.8.0
, switch the version.
java_Home version switching
[root@asianux7 ~]# alternatives --config java_home
There are 2 programs'java_home'To provide.
Select command
-----------------------------------------------
1 /usr/java/jdk-9.0.1
*+ 2 /usr/java/jdk1.8.0_152
Press Enter to select the current[+]Or enter the selection number:1 ←※`1`Specify
Make sure that the java version of java_home is 9.0.1
.
java_Checking the java version of home
[root@asianux7 ~]# alternatives --config java_home
There are 2 programs'java_home'To provide.
Select command
-----------------------------------------------
+ 1 /usr/java/jdk-9.0.1
* 2 /usr/java/jdk1.8.0_152
Press Enter to select the current[+]Or enter the selection number:
[root@asianux7 ~]# /usr/local/java_home/bin/java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Register the JAVA_HOME environment variable in /etc/profile.d/
if necessary.
JAVA_HOME environment variables
[root@asianux7 ~]# echo 'export JAVA_HOME=/usr/local/java_home' >> /etc/profile.d/jdk.sh
The alternatives command is not dedicated to java but general purpose, so I would like to try other software if I have a chance.
Recommended Posts