17、Linux下安装jdk(CentOS7)
本文档全文使用
root
账户执行,如果使用其他账户,命令前加sudo
。
1、准备工作
(1)检查服务器是否存在jdk
存在的话卸载,不存在直接略过准备工作
内容
(2)卸载自带jdk
列出所有已经被安装的,名字中包含jdk
字符串的RPM
包。
rpm -qa|grep jdk
依次卸载,直至rpm -qa|grep jdk
执行后,显示为空即可。
yum -y remove java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
yum -y remove java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
yum -y remove copy-jdk-configs-3.3-10.el7_5.noarch
或者使用如下命令进行删除
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
拓展:yum -y remove
和rpm -e --nodeps
的区别
yum
可以更好地解决依赖关系,yum remove
移除软件包时更加安全。加入某个包被其它包依赖,用yum remove
是无法移除的。
rpm -e
加上--nodeps
可以忽略依赖关系,强制移除某个软件包。但是这有可能是系统的某些程序无法运行。
2、下载
官网地址:Java Downloads | Oracle 中国
3、安装
(1)新建目录文件夹
在/opt/
目录下新建jdk
文件夹
# 新建jdk文件夹
mkdir /opt/jdk
ll
(2)上传jdk压缩包
使用sftp
工具将文件压缩包上传到该目录下
(3)解压jdk
压缩包
# 语法:tar -zxvf [压缩包名称]
tar -zxvf jdk-17_linux-x64_bin.tar.gz
(4)手动生成jre
jdk17
版本解压完后发现是没有 jre
文件夹的。现在不区分 jdk
和 jre
了因为 jdk
本身已经模块化了模块化了之后,用户自定义运行时, runtime
所以理论上存在有,不同的系统,用的 java runtime
(简称 jre
)是不一样的可能性这时候再提供一个统一的 jre
,就会误导所以就没有 jre
了所以需要我们手动生成。
bin/jlink --module-path jmods --add-modules java.desktop --output jre
此时 jre
文件夹生成完毕。
(5)配置环境变量
vim /etc/profile
将如下内容添加至配置文件中,JAVA_HOME=/opt/jdk/jdk-17.0.6
为自己实际jdk安装目录。如果和我的不一致,记得修改。
export JAVA_HOME=/opt/jdk/jdk-17.0.6
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
或者(二者都可以,二选一即可)
export JAVA_HOME=/opt/jdk/jdk-17.0.6
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
编辑完之后,保存并退出。然后输入以下指令,刷新环境配置使其生效。
(此命令如果出现bash: source: 未找到命令...
不要复制粘贴命令,手动敲一下即可)
source /etc/profile
4、验证
输入如下命令,检测是否安装成功
java -version
出现版本说明成功了。