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