CentOS 上的多个 Java 版本

Ana*_*eva 2 java linux centos java-7

我已经在我的 centOS 机器上安装了 JAVA 1.7_80,但是当我检查 Java 版本时,它显示 1.7_09。

我在正确显示 1.7_80 的安装目录中运行了 ./java -version,但全局 java -version 是 1.7_09。

请参考图片链接 - https://scontent.xx.fbcdn.net/hphotos-xft1/v/t1.0-9/11667333_914348581933741_3461411661734554342_n.jpg?oh=e8d364920e7f86e2f87b7f7e27e7f7e27ae

有人知道可能是什么原因或如何解决这个问题吗?

小智 7

CentOS 中有默认的 OpenJDK,


选项A

您必须使用替代品安装 JDK。

# cd /opt/jdk1.8.0_101/
# alternatives --install /usr/bin/java java /opt/jdk1.8.0_101/bin/java 2
# alternatives --config java
Run Code Online (Sandbox Code Playgroud)

输出 ==>

There are 2 programs which provide 'java'.

Selection    Command
-----------------------------------------------
  1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/bin/java
+ 2           /opt/jdk1.8.0_101/bin/java

Enter to keep the current selection[+], or type selection number: 
Run Code Online (Sandbox Code Playgroud)

从该列表中选择您想要的版本。


或:选项 B

#ls -l /usr/bin/java

输出 : . 1 root root 22 ???? 9 02:09 /usr/bin/java -> /etc/alternatives/java

然后 # ls -l /etc/alternatives/java

输出 : . 1 root root 26 ???? 9 02:09 /etc/alternatives/java -> /opt/jdk1.8.0_101/bin/java

#unlink /etc/alternatives/java 
#ln -s <new location> /etc/alternatives/java
Run Code Online (Sandbox Code Playgroud)

(ln -s <original file> <link to file> )

但我更喜欢选项A。