如何在 CentOS 中 select 给定 JDK

How select a given JDK in CentOS

我想在 CentOS 机器上更新 java 版本,

实际上,当我执行 java -version 时,它会给我:

$java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.3.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

我正在使用替代方案来配置应该使用哪个 java 解释器:

 sudo alternatives --config java

它给了我:

There are 3 programs which provide 'java'.

      Selection    Command
    -----------------------------------------------
    *  1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
       2           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
     + 3           /usr/lib/jvm/jdk1.8.0_91/bin/java

Enter to keep the current selection[+], or type selection number:

我选择了数字 3(即 jdk1.8。0_91)

然而,当我重做 java -version 时,它仍然选择了 openJDK 1.7!!!

$java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.3.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

运行这些命令来检查你的配置:

  • $ which java 结果应为 /bin/java/usr/bin/java。否则,请检查您的环境配置文件(/etc/bashrc、/etc/profile、~/.bash_profile、~/.bashrc 等)并删除类似的 export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre" 声明。
  • $ ls -al /bin/java$ ls -al /usr/bin/java 应指向 /etc/alternatives/java 否则替代方案将无效。