Linux 上安装 Oracle JDK 1.8

前言

1、概要

有时候如果你需要安装 Oracle JDK,某些商业软件需要使用到 Oracle JDK 发行版本中的某些功能代码。

本文分享如何在 CentOS 7 下使用 yum 安装及配置 Oracle JDK 1.8.

2、相关环境

  • CentOS 7.9.2009

  • yum 14

  • JDK 1.8.271

正文

1、下载 RPM 安装包

下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

注:x64 的 RPM 包大概是 100+MB,下载需要使用 Oracle 账号登录。

2、安装

将下载的 rpm 包上传到需要安装 JDK 的服务器目录,比如可以使用 ftp 上传到 /tmp 下。

$ sudo rpm -ivh /tmp/jdk-8u271-linux-x64.rpm
warning: /tmp/jdk-8u271-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_271-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...

3、校验

目前的 JDK rpm 包安装后会自动在 /usr/bin 下创建一个软链接,所以可以不配置环境变量即可使用 java。如下示例:

$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

4、安装位置

rpm 包安装的 Oracle JDK 默认位于 /usr/java 目录下。

$ cd /usr/java
$ ll
total 0
lrwxrwxrwx. 1 root root  16 Mar 26 13:47 default -> /usr/java/latest
drwxr-xr-x. 9 root root 286 Mar 26 13:47 jdk1.8.0_271-amd64
lrwxrwxrwx. 1 root root  28 Mar 26 13:47 latest -> /usr/java/jdk1.8.0_271-amd64

5、配置 JDK 环境变量

虽然现在安装好 JDK 后不用配置 JAVA_HOME 和 PATH 环境变量也能运行 java 了,但是某些软件还是可能需要 JAVA_HOME 环境变量。

如果你的 JDK 的环境变量只需要当前用户使用,则可以只配置在当前用户的环境变量文件(~/.bash_profile)中。如果你的 JDK 环境变量需要所有用户使用,则可以配置在 /etc/profile 文件中。

这里以 /etc/profile 的配置为例,编辑 /etc/profile

$ sudo vim /etc/profile

在文件末尾加入如下内容,然后保存退出

# JDK env config start
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# JDK env config end

注:

  • 由于 /usr/java/default 链接到了 /usr/java/latest,而 /usr/java/latest 链接到了 /usr/java/jdk1.8.0_271-amd64,所以 JAVA_HOME=/usr/java/default 等于 /usr/java/jdk1.8.0_271-amd64

  • 如果是相同的安装环境以及安装版本,则配置的内容不用任何改动即可。

  • 如果没有 vim 命令,可以使用 sudo vi /etc/profile

6、使配置生效

执行 source /etc/profile 使用配置的环境变量生效。

$ source /etc/profile

7、校验配置的环境变量

查看 JAVA_HOME $PATH $CLASSPATH 环境变量的值确保是否配置成功。

$ echo $JAVA_HOME
/usr/java/default
$ echo $PATH
/usr/java/default/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin
$ echo $CLASSPATH
.:/usr/java/default/lib/dt.jar:/usr/java/default/lib/tools.jar

8、卸载 JDK

如果要卸载 安装的 JDK,可以使用 yum list installed | grep -i jdk 命令查看安装的 JDK 版本,并卸载即可。

$ sudo yum list installed | grep -i jdk
copy-jdk-configs.noarch            3.3-10.el7_5                 @base           
jdk1.8.x86_64                      2000:1.8.0_271-fcs           installed

$ sudo yum remove -y jdk1.8.x86_64
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package jdk1.8.x86_64 2000:1.8.0_271-fcs will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================

Package                             Arch                                Version                                          Repository                              Size

=======================================================================================================================================================================

Removing:

jdk1.8                              x86_64                              2000:1.8.0_271-fcs                               installed                              248 M

Transaction Summary

=======================================================================================================================================================================

Remove  1 Package

Installed size: 248 M

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Erasing    : 2000:jdk1.8-1.8.0_271-fcs.x86_64                                                                                                                    1/1

  Verifying  : 2000:jdk1.8-1.8.0_271-fcs.x86_64                                                                                                                    1/1

Removed:

  jdk1.8.x86_64 2000:1.8.0_271-fcs                                                                                                                                     

Complete!

校验 JDK 卸载

$ java -version
-bash: /usr/bin/java: No such file or directory
$ pwd
/usr/java
$ ll
total 0

You may also like...

发表评论

您的电子邮箱地址不会被公开。