CentOS-7 下载安装并配置Java-19
- CentOS-7 下载安装并配置Java
- 一、更新升级最小化安装的 CentOS
- 注意
- 二、rpm 安装 jdk
- 1、下载 wget 工具
- 2、用 wget 下载 jdk 的安装包
- 3、用 rpm 进行安装
- 三、tar 安装 jdk
- 1、wget 下载 jdk 安装包
- 2、tar 解压 jdk_19 压缩包
- 3、配置环境变量
- 方式一:加入初始环境变量
- 方式二:加入临时环境变量
- 四、yum 下载安装 jdk
- 五、卸载 jdk
- 1、查看 jdk 安装包名称
- 2、卸载jdk
- 方法一:rpm 卸载
- 方法二:yum 卸载
CentOS-7 下载安装并配置Java
版本号:CentOS-7-x86_64-Minimal-2009
Windows版本:Windows 11 家庭中文版 22H2
Vmware版本:VMware® Workstation 17 Pro – 17.0.1 build-21139696
安装的 Java 版本:jdk-19
先提一嘴,这里共有三种方法,一种是 rpm 下载的方法,一种是 yum 的方法,最后一种是先下载到主机然后上传到虚拟机进行解压(使用tar)的方法。
看图,不难发现,最小化安装是自带 rpm 的,但是并没有自带 wget,所以如果要使用 rpm 的方法,那就得先下载 wget 工具,或者直接用远程从主机上传到虚拟机。
一、更新升级最小化安装的 CentOS
更新安装已有的软件最新版本以及安全升级,不会安装任何新的软件。总的来说更新(update)和升级(upgrade)是相同的,但事实上 升级 = 更新 + 更新时进行废弃处理。
sudo yum update && yum upgrade
但是因为可能软件包有点多,系统提示的接受更改也不少,所以我们一般使用下面的命令,这不会弹出软件更新的提示,你也就不需要输入 ‘y’ 接受更改。
sudo yum update -y && yum upgrade -y
注意
但是仅限虚拟机学习的时候,在真正生产开发的时候,查看服务器上会发生的变化总是一个好主意,尤其是在生产中。因此使用上面的命令虽然可以为你自动更新和升级,但并不推荐。
二、rpm 安装 jdk
1、下载 wget 工具
在前面,我们已经提到过,最小化安装的CentOS7是没有自带 wget 工具的,所以我们需要进行下载
sudo yum install wget -y
下载好之后,我们就可以用 wget 工具进行下载了,并且保存到指定的目录。
2、用 wget 下载 jdk 的安装包
wget https://download.oracle.com/java/19/latest/jdk-19_linux-aarch64_bin.rpm -P ~/Downloads/
下图我打了 -P 所以是不能保存到后面的指定目录的,可以看到红色框框那里,就是保存的位置,有点小失误,但是问题不大。
使用 rpm 进行安装会有一个好处,就是默认安装在/usr/java目录下,不用配置环境变量,这能省去很多麻烦,如果用解压的方式就需要配置环境变量,而且可能会出一点小问题。
这里我遇到了一个小问题…就是我看错版本了,我应该下载的是 x64 的压缩包,所以就是下错了,有点小蠢,所以就是,下载的时候看清楚一些,不然就会像我一样,又要重下过。
wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.rpm -P ~/Downloads/
这次我记得把那个 -P 加上了,可以看到保存的位置与我设想的一样了。
3、用 rpm 进行安装
安装命令没有什么特别多的说法,单纯地
sudo rpm -ivh Downloads/jdk-19_linux-x64_bin.rpm
这里我们又遇到了一个警告,这个警告就是因为各个软件之间总会存在一些依赖关系,所以才会发出警告。
这里我查看了一下安装的 java 的版本,理论上因为有警告,所以依赖没有嘛,所以安装应该是不太成功的,但是后面发现就是即使是出现警告也能够就是安装了,这就很奇怪。
没关系,这里我快照复原了一下之前的情况,然后就是重新下载了一遍,然后有是安装的时候,这时候我们只需要在后面加上–force –nodeps 就行,nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载
sudo rpm -ivh Downloads/jdk-19_linux-x64_bin.rpm--force --nodeps
有点…不太好意思的就是,他还在,有点让我震惊
最重要的是…它…又能找到…这有点奇特啊,但是不影响,先把问题留一下,因为他不是error,就不影响使用…(主要是我不会解)
但是最重要的是,它安装成功了,这说明也没啥关系其实。
三、tar 安装 jdk
老样子,因为没有下载 wget 工具,所以要进行下载,但是上面已经讲过了,所以就省略它了。
1、wget 下载 jdk 安装包
噢,忘记说了,我们下载的是 java 19,如果需要别的版本的,请到甲骨文官网另找。
wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz -P Downloads/
2、tar 解压 jdk_19 压缩包
下载完之后,我们用 tar 命令解压到 usr 下的 java 文件夹里面
sudo tar -zxvfDownloads/jdk-19_linux-x64_bin.tar.gz -C /usr/java/
但是因为本来里面是没有 java 文件夹的,所以需要先创建文件夹,然后再进行解压。
sudo mkdir /usr/java/
再执行一遍解压的命令进行解压,看到下面这个效果说明解压已经成功完成。
3、配置环境变量
方式一:加入初始环境变量
因为我们只是最简单的解压了压缩包,还不能算是能用的,当我们输入 java –version 查看 java 版本的时候是一样查看不出来的。
java --version
这是因为我们还没有给他配置环境变量,这就是 rpm 相比于 tar 的优势,但是配置环境变量也不会特别困难。但是在配置环境变量之前,我们需要知道一些东西,从 java_12 开始,jre 就已经与 jvm 进行合并了,也就是说,我们的环境变量里面没有 jre。所以如果是使用 java_12 之前的版本,是需要配置 jre 的环境变量的。
配置环境变量,首先就是要找到环境变量所在的文件,然后修改文件内容,最后重启环境变量服务即可。环境变量的文件是在 /etc/profile 的,所以我们使用 vim /etc/profile 进行修改
sudo vim /etc/profile
下面我们用 jdk_1.8 举个例子,要将下面的写到环境变量文件的最后。
JAVA_HOME=/usr/java/jdk1.8.0_161
JRE_HOME=/usr/java/jdk1.8.0_161/jre
PATH=PATH:PATH: PATH:JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:JAV A HOME/lib/dt.jar:JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
因为我下载的是 jdk-19,所以我配置的文件内容也不一样,具体如下
#JAVAJAVA_HOME=/usr/java/jdk-19.0.2/PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME PATH CLASSPATH
配置完之后就要重新加载环境变量
source /etc/profile
这时候,我们在查看 java 的版本就会有显示了,这样子就说明我们的安装已经成功了。
方式二:加入临时环境变量
因为在 /etc/profile.d(跟上面的不是同一个东西,这个是目录上面的是文件) 目录中存放的是一些应用程序所需的启动脚本,其中包括了颜色、语言、less、vim及which等命令的一些附加设置。这些脚本文件之所以能够 被自动执行,是因为在/etc/profile 中使用一个for循环语句来调用这些脚本。而这些脚本文件是用来设置一些变量和运行一些初始化过程的。
所以 我们还有第二种方法,作为额外的临时环境变量,避免污染初始环境变量。也就是在这个目录下新建一个 java.sh 文件,然后添加环境变量,这样就可以做到不污染初始环境变量了。
首先,新建一个 java.sh 到 /etc/profile.d/ 下面
sudo vim /etc/profile.d/java.sh
然后,写入配置环境变量
#JAVAJAVA_HOME=/usr/java/jdk-19.0.2/PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME PATH CLASSPATH
最后退出保存。重新加载环境变量
source /etc/profile
到这里已经可以完整地下载安装 jdk 了。
四、yum 下载安装 jdk
首先我们得先确认 yum 能下载哪种版本的 jdk 吧,所以我们使用下面命令查看 yum 库中有哪种 jdk 存在
yum list | grep jdk
有点可惜的是,这里最新版也只到 java-11,所以就直接选 java-11 进行下载安装好了。
sudo yum -y install java-11-openjdk.x86_64
到这里就已经弄好了,然后我们来看看 java 的版本,顺便确认一下是否已经加载了环境变量。
java --version
所以这边就已经下载安装完毕了。
五、卸载 jdk
虽然我们已经学会了如何下载安装,但是如果在更新版本的时候,我们如果使用的是自己下载安装的版本(特别是用 tar 方法配置环境变量的),这种时候我们就需要首先卸载 jdk 然后再进行新版本的安装。
1、查看 jdk 安装包名称
首先我们就是得确认是否已经有下载安装过的 jdk
rpm -qa |grep jdk
rpm -qa |grep java
rpm -qa |grep gcj
这里一共给大家三种语句,总有一个能找到的(当然,我们卸载的是第一个语句里面的三份文件啊,那个带 python 的不要删啊,删了你自己看着办啊),如果都找不到,说明你的 jdk 不是用 rpm 或者 yum 进行下载安装的。
如果真的出现找不到的情况,就使用另外一个命令去找(请确保你真的有安装 jdk!!!)
which java
这个时候应该就能找到了,不然就是你没有配置环境变量,等的问题。如果你没有安装 jdk,那你一辈子都找不到的,这个时候请勿找我的麻烦,我也帮不了你。
可能兄弟们有别的想法,就比如下面这条命令:
which jdk
也不是说这个不行,但是你瞧瞧,没有 jdk 这个选项,所以尽量不要这么搞啊,还是用回那个 which java。
2、卸载jdk
然后我们就有两种办法进行卸载:
方法一:rpm 卸载
这个卸载不是乱来的啊,这文件都是有说法的,就是下图的三个,如果下面这么长的命令你看不懂,那你就分三次,一个一个删,具体命令形式:
sudo rpm -e --nodeps [文件名]
为了方便,我这里直接把三个一起删了。
sudo rpm -e --nodeps java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64 copy-jdk-configs-3.3-11.el7_9.noarch java-11-openjdk-headless-11.0.18.0.10-1.el7_9.x86_64
方法二:yum 卸载
这里的卸载就比较简单,只用将这蓝蓝的框框里面的打上去就行。
sudo yum -y remove java-11-openjdk-headless-11.0.18.0.10-1.el7_9.x86_64
到这里我们就已经做完了,已经卸载了,如果不放心,就再查看一下 java 是否存在就好了。
有趣的就是我这里又发现一些卸载残留,em…有点不太对劲,但是不影响,我们再删一次就好了
sudo yum -y remove copy-jdk-configs-3.3-11.el7_9.noarch
这里可以发现就没有这个东东了,但是我看了一下,好像是有一点点不太干净
所以我把那个环境变量重新加载了一下,应该只是因为没有重新加载的问题
还好还好,重新加载之后就发现已经找不到了,这说明我的操作其实没什么太大的问题。
这里我重新下载了一遍然后再删了一次,所以最后的语句就变成了下面这个,后面看到的结果其实也是没有其他太多的残留的,重点就是最后请记得重新加载环境变量,虽然重启机器也是可以的,但是还是要养成一个好习惯。
sudo yum -y remove java-11-openjdk-headless-11.0.18.0.10-1.el7_9.x86_64 remove copy-jdk-configs-3.3-11.el7_9.noarch