本文主要记录如何在 Linux 中安装 Oracle-JDK1.8 。

环境:CentOS 7.6

JDK 版本:Oracle-JDK1.8.0_221

JDK 目前分为 Open-jdkOracle-jdk 两种,至于两者的区别可以参看这篇文章:Oracle与OpenJDK之间的比较

本文以安装 Oracle-JDK8u341 为例,Open-JDK 的安装方法一样。

1. 下载 JDK

官网链接:Java Archive Downloads

Oracle-JDK8u341 下载链接:jdk-8u341-linux-x64.tar.gz

2. 上传并解压

下载下来后使用 ftp 工具将压缩包上传到服务器的指定目录下即可。

我这里是将所有的安装环境均放在 /usr/local/env 中, JDK 目录为 /usr/local/env/jdk

上传成功后,切换到对应目录下并解压上传的压缩包:

cd /usr/local/env/jdk

# -z 表示使用 gzip 进行压缩/解压,一般使用 .tar.gz 后缀
# -x 表示对打包文件(archive)进行解压操作
# -v 表示详细显示正在处理的文件名
# -f 后面接操作使用的文件,用空格隔开,且中间不能有其他参数,推荐放在参数集最后或单独作为参数,文件作用取决于前面的参数,若为创建( -c ),则 -f 后为创建的文件的名字(路径),若为( -x/t ),则 -f 后为待解压/查看的打包压缩文件名
tar -zxvf jdk-8u341-linux-i586.tar.gz

解压后改一下目录名,方便记忆:

mv jdk1.8.0_341 jdk1.8

3. 配置环境变量

vim /etc/profile

翻到文件最后,按键盘 i 键进行编辑。

输入以下内容:

# 将 = 后面的路径替换为你自己的 jdk 绝对路径
export JAVA_HOME=/usr/local/env/jdk/jdk1.8
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

然后按 Esc 退出编辑,再按 shift + : 输入 wq 保存并退出即可。

注意,这里更改了之后还要运行一下:

source /etc/profile

这样才会立即生效,否则必须要重新登录才会生效。

4. 检查是否安装成功

java -version

如果出现下图所示的文字那么就安装成功了。

java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) Client VM (build 25.341-b10, mixed mode)

5. 可能出现的错误

-bash: /usr/local/env/jdk/jdk1.8/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

这是因为在 64 位系统中安装了 32 位程序。

解决办法:

yum install -y glibc.i686

安装后再次运行 java -version 就正常了。