CentOS 7 软件安装 —— 用 alternatives 命令安装多个版本的 JDK
由于 RHEL/CentOS/Fedora/ 默认使用 OpenJDK,由于很多开源软件默认使用到它,移除多少会出现问题。 即使装了Oracal JDK 也会出现包 Oracal JDK 不存在的问题。但与使用 Windows 开发的伙伴们协同开发,并且使用 OpenJDK 开发 Java EE 经常会出现问题,于是开发中必须要使用 Oracal JDK。很多 IDE 和 Java EE 运行环境也需要 Oracal JDK,例如 myeclipse, tomcat 要使用 Oracal JDK。因此要为不同的应用指定不同的 JDK 。
■ alternatives - maintain symbolic links determining default commands
-----------------------------------------------------------------------------------------------------------------------------------------
由 RedHat 开发,在 GNU 公共许可条款下发行。
用法:alternatives --install <链接> <名称> <路径> <优先度>
[--initscript <服务>]
[--family <family>]
[--slave <链接> <名称> <路径>]*
alternatives --remove <名称> <路径>
alternatives --auto <名称>
alternatives --config <名称>
alternatives --display <名称>
alternatives --set <名称> <路径>
alternatives --list
common options: --verbose --test --help --usage --version --keep-missing
--altdir <目录> --admindir <目录>
■ Oracal JDK 安装
-----------------------------------------------------------------------------------------------------------------------------------------
下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装:
进入下载目录,执行:
[devalone@online Java]$ sudo yum localinstall jdk-8u171-linux-x64.rpm
Oracal JDK 默认安装在 /usr/java 目录,检查:
[root@online ~]# ll /usr/java
总用量 0
lrwxrwxrwx. 1 root root 16 4月 24 10:03 default -> /usr/java/latest
drwxr-xr-x. 9 root root 268 4月 24 10:03 jdk1.8.0_171-amd64
lrwxrwxrwx. 1 root root 28 4月 24 10:03 latest -> /usr/java/jdk1.8.0_171-amd64
注:升级 Oracal JDK 时,直接把安装包解压到此目录中,然后重新建立 latest 链接指向新的安装包就可以了,不用删除现有安装包,也不用修改任何其他
配置(包括 alternatives 也不需要重新配置)。
-----------------------------------------------------------------------------------------------------------------------------------------
检查默认 JDK :
[root@online ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
仍然是系统默认安装的 JDK 。
■ 使用 alternatives 配置默认 JDK 为 Oracal JDK
-----------------------------------------------------------------------------------------------------------------------------------------
使用安装命令: alternatives --install <链接> <名称> <路径> <优先度>
<优先度>: is the priority of the alternatives group. Higher priorities take precendence if no alternative is manually selected.
① 安装 java 命令:
-----------------------------------------------------------------------------------------------------------------------------------------
[root@online ~]# ll /usr/java/default/bin/java
-rwxr-xr-x. 1 root root 7734 3月 29 08:21 /usr/java/default/bin/java
[root@online ~]# alternatives --install /usr/bin/java java /usr/java/default/bin/java 100
② 安装 javac 命令:
-----------------------------------------------------------------------------------------------------------------------------------------
[root@online ~]# ll /usr/java/default/bin/javac
-rwxr-xr-x. 1 root root 7941 3月 29 08:21 /usr/java/default/bin/javac
[root@online ~]# alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 100
③ 配置默认 java :
-----------------------------------------------------------------------------------------------------------------------------------------
[root@online ~]# alternatives --config java
共有 4 个提供“java”的程序。
选项 命令
-----------------------------------------------
1 java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.171-2.6.13.0.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.161-0.b14.el7_4.x86_64/jre/bin/java)
3 /usr/java/jdk1.8.0_171-amd64/jre/bin/java
4 /usr/java/default/bin/java
按 Enter 保留当前选项[+],或者键入选项编号:4
选择了编号:4,为刚刚安装的 java 命令链接。
④ 配置默认 javac :
-----------------------------------------------------------------------------------------------------------------------------------------
[root@online ~]# alternatives --config javac
共有 2 个提供“javac”的程序。
选项 命令
-----------------------------------------------
*+ 1 /usr/java/jdk1.8.0_171-amd64/bin/javac
2 /usr/java/default/bin/javac
按 Enter 保留当前选项[+],或者键入选项编号:2
选择了编号:2,为刚刚安装的 javac 命令链接。
■ 检查配置结果:
-----------------------------------------------------------------------------------------------------------------------------------------
[root@online ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
结果显示默认 JDK 为刚刚安装的 Oracal JDK
■ 配置 JAVA_HOME 环境变量
-----------------------------------------------------------------------------------------------------------------------------------------
编辑 /etc/profile 文件
[root@online ~]# vi /etc/profile
在文件末尾添加如下内容设置环境变量:
JAVA_HOME=/usr/java/default
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME
保存退出,执行:
[root@online ~]# source /etc/profile
使环境设置立即生效。