CentOS7 安装配置 JDK
最近准备在服务器上搞些东西,先把 JDK 装好。
环境
阿里云学生服务器(¥9.9/月) CentOS 7.3 64位
下载 tar 包并解压缩
博主采用离线安装的方式,首先下载 JDK的 tar 包,博主选择的是 Oracle Java SE 11 (LTS),链接在这。
因为去年(2019年4月16日)Oracle JDK 的协议改了,国内官方镜像源都没了,还好只有一百多兆,博主顶着几十 k (博主带宽 100 Mbps )的小水管硬是下了下来。虽然国内网盘等地可能还有一些源,但是极有可能被注入木马,即使可以通过 SHA256 进行验证,但终归其目的是为了验证完整性,并非为了加密,所以出于安全考虑还是官网 https 下载吧,当然梯子比较好的朋友挂一下梯子应该速度可以。此外 Oracle 官网需要账号登录才能下载,没有账号的一定要注册一个(邮箱一定要是真的,用来验证,其他可以乱填,但有的话最好填真的)。
如果不想使用 Oracle JDK,也可以选择 Open JDK 或者你认为靠谱的 JDK,下面贴两个 JDK 的源:
- 官方 Open JDK 源(博主速度有几百 k,十分钟下完不算慢了,墙裂推荐):https://jdk.java.net/java-se-ri/11
- 清华镜像(初测速度很快,但是文件大小跟官方源不一样,也没有
SHA256验证,完整性和安全性有待考量):https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/linux/
关于下载方面的就不再谈了,老大哥 Oracle 逐渐闭源,只能请诸君各显神通了。
下载完之后记得验证一下完整性,然后使用 scp 上传到服务器。
解压直接使用 tar 进行解压,推荐解压/安装路径 /usr/local/java/jdk-version,方便进行管理。
生成 jre
新版的 jdk 默认是不带 jre,因为可以直接使用 jdk 生成,所以没必要放进去,还可以减小文件大小。
使用如下命令生成:
# 进入安装目录
cd /usr/local/java/jdk-11.0.7
./bin/jlink --module-path jmods --add-modules java.desktop --output jre
output 的参数是生成的目录,因为我们是在 /usr/local/java/jdk-11.0.7 目录下执行的命令,所以生成在 /usr/local/java/jdk-11.0.7/jre 。
配置环境变量
vim /etc/profile
在文件底部添加以下几条记录,此处 export PATH 最好将原先的 export PATH 删除,以免重复 export:
JAVA_HOME=/usr/local/java/jdk-11.0.7
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASSPATH PATH
记得修改成自己的路径,当然你也可以通过使用软连接来简化环境变量。
然后使用 unset + source 命令使环境变量生效:
# 删除原先的 PATH
unset PATH
# 重新加载环境变量
source /etc/profile
一定要使用 unset PATH 删除环境变量,因为重复存在 PATH=$PATH:$JAVA_HOME/bin 语句,所以重复 export PATH 会导致 PATH 越来越长,同时因为语句中 $PATH 在 $JAVA_HOME/bin 前面,所以以前的 java 版本会覆盖新安装的版本。
可以使用 echo 命令查看一下环境变量是否正确:
echo $PATH
或者直接输入命令查看一下自己的版本,验证是否安装/配置成功:
java -version
输出正确的版本号就说明安装/配置成功了,如果显示其他的 java 版本或者 command not found 之类的错误,记得检查一下安装目录和环境变量配置是否一致,以及环境变量有没有被其他版本的 java 覆盖(环境变量从左到右读取,所以后面的会被前面的覆盖)。
个人博客:https://wilfredshen.cn/

浙公网安备 33010602011771号