使用CentOS 7.5卸载自带jdk安装自己的JDK1.8的过程
本文主要介绍的是如何是Linux环境下安装JDK的,因为Linux环境下,很多时候也离不开Java的,下面笔者就和大家一起分享如何jdk1.8的过程吧。
一、安装环境
•本机系统:Win 10
•虚拟机软件:VMware PRO 14
•虚拟机Linux系统:CentOS 7.5
•JDK版本:1.8.0_191
•工具:SecureCRT
•说明:本文是通过SecureCRT工具远程连接Linux操作,如果是直接在Linux可视化界面操作那就更方便了,原理一样。
二、安装步骤
•下载安装包
下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件。
由于我的Linux是64位的,jdk-8u191-linux-x64.tar.gz下载链接
0、我们先有一个干净的Linux的环境
进行如下操作:
[root@itheima ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@itheima ~]# ll
总用量 0
1、检查一下linux系统中的jdk版本
[root@itheima ~]# java -version
显示如下:
openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
2、检测linux下的jdk安装包
[root@itheima ~]# rpm -qa | grep java 或者 [root@itheima ~]# rpm -qa | grep jdk
显示如下:
python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 tzdata-java-2018c-1.el7.noarch java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
或者
copy-jdk-configs-3.3-2.el7.noarch java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
3、先卸载openjdk(共4个文件)
[root@itheima ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 [root@itheima ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 [root@itheima ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 [root@itheima ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
删完之后可以再通过:
rpm -qa | grep java
或 rpm -qa | grep jdk
命令来查询出是否删除掉[root@itheima ~]# rpm -qa | grep java python-javapackages-3.4.1-11.el7.noarch tzdata-java-2018c-1.el7.noarch javapackages-tools-3.4.1-11.el7.noarch [root@itheima ~]# rpm -qa | grep jdk copy-jdk-configs-3.3-2.el7.noarch [root@itheima ~]#
4、安装新的Oracle JDK1.8
通过命令:cd /usr/local/ 进入local目录,并通过ll(两个小写的L)命令或者ls命令(ll 本身不是命令,只是 ls -l 命令的一个别名)列出当前目录下得所有非隐含的文件,如果想要看到隐含(以. 开头的,如:.test.txt)文件信息可通过ll -a来查看,如下:
[root@itheima ~]# cd /usr/local/ [root@itheima local]# ll
总用量 0
drwxr-xr-x. 2 root root 6 4月 11 2018 bin drwxr-xr-x. 2 root root 6 4月 11 2018 etc drwxr-xr-x. 2 root root 6 4月 11 2018 games drwxr-xr-x. 2 root root 6 4月 11 2018 include drwxr-xr-x. 2 root root 6 4月 11 2018 lib drwxr-xr-x. 2 root root 6 4月 11 2018 lib64 drwxr-xr-x. 2 root root 6 4月 11 2018 libexec drwxr-xr-x. 2 root root 6 4月 11 2018 sbin drwxr-xr-x. 5 root root 49 11月 2 00:50 share drwxr-xr-x. 2 root root 6 4月 11 2018 src
进入local目录之后通过mkdir java命令来创建java目录存放自己的jdk。
扩展:如果你想一次性在同一级目录下创建多个平级的目录可以通过mkdir brother1 brother2(如要创建更多就在后面加上去就可以了,中间用空格隔开)这样的命令来创建,如果要一次创建父子目录(parent/child)可以通过mkdir -p
parent/child/grandson来创建,如下:
[root@itheima local]# mkdir java [root@itheima local]# ll
总用量 0
drwxr-xr-x. 2 root root 6 4月 11 2018 bin drwxr-xr-x. 2 root root 6 4月 11 2018 etc drwxr-xr-x. 2 root root 6 4月 11 2018 games drwxr-xr-x. 2 root root 6 4月 11 2018 include drwxr-xr-x. 2 root root 6 11月 8 19:01 java drwxr-xr-x. 2 root root 6 4月 11 2018 lib drwxr-xr-x. 2 root root 6 4月 11 2018 lib64 drwxr-xr-x. 2 root root 6 4月 11 2018 libexec drwxr-xr-x. 2 root root 6 4月 11 2018 sbin drwxr-xr-x. 5 root root 49 11月 2 00:50 share drwxr-xr-x. 2 root root 6 4月 11 2018 src
5、使用SSH链接工具SecureCRT链接Linux系统,打开SFTP会话
将下载好的jdk安装包jdk-8u191-linux-x64.tar.gz上传至Linux系统的/usr/local/java目录下
sftp> pwd /root sftp> cd /usr/local/java/ sftp> pwd /usr/local/java sftp> put -r "C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz" Uploading jdk-8u191-linux-x64.tar.gz to /usr/local/java/jdk-8u191-linux-x64.tar.gz 100% 187259KB 46814KB/s 00:00:04 C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz: 191753373 bytes transferred in 4 seconds (46814 KB/s) sftp> put -r "C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz" Uploading jdk-8u191-linux-x64.tar.gz to /usr/local/java/jdk-8u191-linux-x64.tar.gz 100% 187259KB 62419KB/s 00:00:03 C:\Users\Bruce\Desktop\jdk-8u191-linux-x64.tar.gz: 191753373 bytes transferred in 3 seconds (62419 KB/s) sftp>
传输完成之后ll命令查看
[root@itheima java]# ll 总用量 187260 -rw-r--r--. 1 root root 191753373 11月 8 17:07 jdk-8u191-linux-x64.tar.gz [root@itheima java]#
6、解压jdk-8u191-linux-x64.tar.gz安装包
[root@itheima java]# tar -zxvf jdk-8u191-linux-x64.tar.gz
解压过后出现如下:
...... ...... jdk1.8.0_191/jre/lib/fontconfig.SuSE.10.properties.src jdk1.8.0_191/jre/lib/fontconfig.SuSE.11.bfc jdk1.8.0_191/jre/COPYRIGHT jdk1.8.0_191/jre/THIRDPARTYLICENSEREADME-JAVAFX.txt jdk1.8.0_191/jre/Welcome.html jdk1.8.0_191/jre/README jdk1.8.0_191/README.html [root@itheima java]# ll 总用量 187260 drwxr-xr-x. 7 10 143 245 10月 6 20:55 jdk1.8.0_191 -rw-r--r--. 1 root root 191753373 11月 8 17:07 jdk-8u191-linux-x64.tar.gz
这时安装包已经没用了,我一般都会删掉安装包,通过
rm -f jdk-8u191-linux-x64.tar.gz
删除安装包。这里-f的意思就是不询问删除,如果你不加-f在删除时它会询问你一下是否要删除该安装包,是确定要删除就加-f。
如果你要删除一个目录,而这个目录下还有目录或者有文件,比如在parent/child/grandson,这样的目录下你要删除 parent 下得所有目录和文件(包括parent)就可以用到rm -rf parent命令就可以删除掉了。rm -rf parent表示递归删除不询问。
[root@itheima java]# rm -rf jdk-8u191-linux-x64.tar.gz [root@itheima java]# ll 总用量 0 drwxr-xr-x. 7 10 143 245 10月 6 20:55 jdk1.8.0_191 [root@itheima java]#
7、设置环境变量
通过vim /etc/profile命令打开 profile 文件盘配置环境变量
[root@itheima java]# vim /etc/profile
打开之后按i进入insert(插入)模式,在文件末尾添加上环境变量,内容如下:
JAVA_HOME=/usr/local/java/jdk1.8.0_191 JRE_HOME=/usr/local/java/jdk1.8.0_191/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
添加完之后保存并退出,保存并退出的命令有两种 第一种是:按住shift键然后连按两次z(这是我常用的,因为它方便快速),第二种是:wq命令,有一种是不保存退出的命令:q! 注意:以上三种命令都是在非插入模式(插入模式下按键盘左上角的Esc键退出插入模式就是非插入模式了)下操作。
8、保存完之后输入:source /etc/profile 命令使刚才配置的环境变量生效
[root@itheima java]# source /etc/profile [root@itheima java]#
9、测试jdk是否安装成功
输入javac命令如果出现以下的文字就说明编译成功了(如果你之前安装centos7时使用的语言是英文,那出现的就是类似这样排版的英文)
[root@itheima java]# javac
用法:
javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-h <目录> 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-profile <配置文件> 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名
[root@itheima java]#
或者输入java -version
[root@itheima java]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) [root@itheima java]#
如果出现以上信息就说明你自己的jdk就完全安装成功了!!!