CentOS 7 软件安装 —— 用 alternatives 命令安装多个版本的 JDK

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 ]
                        [--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

    使环境设置立即生效。
   

你可能感兴趣的:(Linux,CentOS7,Java,Fedora)