一、查看是否已经安装了JDK

#查看本机是否已经安装了jdk
$ sudo yum list installed | grep java
java-1.8.-openjdk.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-accessibility.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-accessibility-debug.x86_64
java-1.8.-openjdk-debug.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-demo.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-demo-debug.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-devel.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-devel-debug.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-headless.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-headless-debug.x86_64
java-1.8.-openjdk-javadoc.noarch :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-javadoc-debug.noarch :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-javadoc-zip.noarch :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-javadoc-zip-debug.noarch
java-1.8.-openjdk-src.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-1.8.-openjdk-src-debug.x86_64 :1.8.0.201.b09-.el7_6 @updates
java-atk-wrapper.x86_64 0.30.-.el7 @base
javapackages-tools.noarch 3.4.-.el7 @base
python-javapackages.noarch 3.4.-.el7 @base
tzdata-java.noarch 2018i-.el7 @updates

二、卸载原有jdk

# *表示卸载所有以java-1.8.-openjdk开头的,-y 表示自动回复yes
$ sudo yum -y remove java-1.8.-openjdk* javapackages-tools.noarch python-javapackages.noarch tzdata-java.noarch

三、查看JDk软件包列表

$ sudo yum list java*
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors..com
* extras: mirrors..com
* updates: mirrors..com
可安装的软件包
java-1.6.-openjdk.x86_64 :1.6.0.41-1.13.13.1.el7_3 base # jdk6
java-1.6.-openjdk-demo.x86_64 :1.6.0.41-1.13.13.1.el7_3 base
java-1.6.-openjdk-devel.x86_64 :1.6.0.41-1.13.13.1.el7_3 base
java-1.6.-openjdk-javadoc.x86_64 :1.6.0.41-1.13.13.1.el7_3 base
java-1.6.-openjdk-src.x86_64 :1.6.0.41-1.13.13.1.el7_3 base
java-1.7.-openjdk.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates # jdk7
java-1.7.-openjdk-accessibility.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates
java-1.7.-openjdk-demo.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates
java-1.7.-openjdk-devel.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates
java-1.7.-openjdk-headless.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates
java-1.7.-openjdk-javadoc.noarch :1.7.0.211-2.6.17.1.el7_6 updates
java-1.7.-openjdk-src.x86_64 :1.7.0.211-2.6.17.1.el7_6 updates
java-1.8.-openjdk.i686 :1.8.0.191.b12-.el7_6 updates # jdk8
java-1.8.-openjdk.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-accessibility.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-accessibility.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-accessibility-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-accessibility-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-demo.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-demo.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-demo-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-demo-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-devel.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-devel.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-devel-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-devel-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-headless.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-headless.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-headless-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-headless-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-javadoc.noarch :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-javadoc-debug.noarch :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-javadoc-zip.noarch :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-javadoc-zip-debug.noarch :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-src.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-src.x86_64 :1.8.0.201.b09-.el7_6 updates
java-1.8.-openjdk-src-debug.i686 :1.8.0.191.b12-.el7_6 updates
java-1.8.-openjdk-src-debug.x86_64 :1.8.0.201.b09-.el7_6 updates
java--openjdk.i686 :11.0.2.7-.el7_6 updates #jdk11
java--openjdk.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-demo.i686 :11.0.2.7-.el7_6 updates
java--openjdk-demo.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-demo-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-demo-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-devel.i686 :11.0.2.7-.el7_6 updates
java--openjdk-devel.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-devel-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-devel-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-headless.i686 :11.0.2.7-.el7_6 updates
java--openjdk-headless.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-headless-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-headless-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc.i686 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-zip.i686 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-zip.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-zip-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-javadoc-zip-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-jmods.i686 :11.0.2.7-.el7_6 updates
java--openjdk-jmods.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-jmods-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-jmods-debug.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-src.i686 :11.0.2.7-.el7_6 updates
java--openjdk-src.x86_64 :11.0.2.7-.el7_6 updates
java--openjdk-src-debug.i686 :11.0.2.7-.el7_6 updates
java--openjdk-src-debug.x86_64 :11.0.2.7-.el7_6 updates
java-atk-wrapper.i686 0.30.-.el7 base
java-atk-wrapper.x86_64 0.30.-.el7 base
java_cup.noarch :.11a-.el7 base
java_cup-javadoc.noarch :.11a-.el7 base
java_cup-manual.noarch :.11a-.el7 base
javacc.noarch 5.0-.el7 base
javacc-demo.noarch 5.0-.el7 base
javacc-javadoc.noarch 5.0-.el7 base
javacc-manual.noarch 5.0-.el7 base
javacc-maven-plugin.noarch 2.6-.el7 base
javacc-maven-plugin-javadoc.noarch 2.6-.el7 base
javamail.noarch 1.4.-.el7 base
javamail-javadoc.noarch 1.4.-.el7 base
javapackages-tools.noarch 3.4.-.el7 base
javassist.noarch 3.16.-.el7 base
javassist-javadoc.noarch 3.16.-.el7 base

四、安装JDK

#安装java-1.8.-openjdk开头的所有程序,-y表示自动回复yes。直到控制台返回Complete或者完毕,表示安装成功。
$ sudo yum install -y java-1.8.-openjdk*

查看版本信息

$ sudo java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK -Bit Server VM (build 25.201-b09, mixed mode)
$ sudo javac -version
javac 1.8.0_201

五、查看JDK安装路径

已经通过yum安装好了jdk,那么安装到哪里去了呢?

查看方式一:

此时,如果使用javac,java都是可以的。我们还没有设置环境变量,为什么直接可使用了呢?

这就体现出了在线安装的好处了,它会自动配置环境变量。我们可以通过echo $PATH命令查看

#:为Linux系统中环境变量分隔符
$ sudo echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

如何查看jdk的安装路径,JAVA_HOME呢?

$ sudo whereis javac
# 很明显,/usr/bin/javac默认加入了PATH路径(/usr/bin)中
javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz
# 可以使用ll命令(或ls -l)查看它链接的地址
$ sudo ll /usr/bin/javac
# 可以看到/usr/bin/javac指向的地址是/etc/alternatives/javac
lrwxrwxrwx. root root 3月 : /usr/bin/javac -> /etc/alternatives/javac
# 继续查看是否有链接
$ sudo ll /etc/alternatives/javac
# 可以看到/etc/alternatives/javac 指向/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin/javac
lrwxrwxrwx. root root 3月 : /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin/javac
# 继续查看是否有链接
$ sudo ll /usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin/javac
# 可以看到/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/bin/javac为一个真实的地址,而非一个软链接
-rwxr-xr-x. root root 3月 : /usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin/javac

所以JAVA_HOME就是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

查看方式二:

其实yum命令默认安装路径为/usr/lib/jvm,那么完整的安装路径是什么呢?

$ sudo ll /usr/lib/jvm
总用量
lrwxrwxrwx. root root 3月 : java -> /etc/alternatives/java_sdk
lrwxrwxrwx. root root 3月 : java-1.8. -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx. root root 3月 : java-1.8.-openjdk -> /etc/alternatives/java_sdk_1..0_openjdk
drwxr-xr-x. root root 3月 : java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64 #其他都是软链接,只有这个和下面一个是真实地址。下面那个是debug,当然这个就是jdk的安装路径了,也就是JAVA_HOME地址。
drwxr-xr-x. root root 3月 : java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64-debug
lrwxrwxrwx. root root 3月 : java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx. root root 3月 : jre -> /etc/alternatives/jre
lrwxrwxrwx. root root 3月 : jre-1.8. -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. root root 3月 : jre-1.8.-openjdk -> /etc/alternatives/jre_1..0_openjdk
lrwxrwxrwx. root root 3月 : jre-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64 -> java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/jre
lrwxrwxrwx. root root 3月 : jre-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64-debug -> java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64-debug/jre
lrwxrwxrwx. root root 3月 : jre-openjdk -> /etc/alternatives/jre_openjdk

六、设置环境变量

#设置JAVA_HOME指向jdk的安装路径
$ sudo vi /etc/profile
#在文件最后加入如下内容: # add java environment
export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}:${CLASSPATH}:$PATH #修改/etc/profile之后让其生效
$ sudo source /etc/profile #查看JAVA_HOME路径
$ sudo echo $JAVA_HOME
/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64
#查看JRE_HOME路径
$ sudo echo $JRE_HOME
/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/jre
#查看CLASSPATH路径
$ sudo echo $CLASSPATH
.:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/lib:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/jre/lib
#查看完整PATH路径
$ sudo echo $PATH
/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/jre:.:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/lib:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/jre/lib:/usr/lib/jvm/java-1.8.-openjdk-1.8.0.201.b09-.el7_6.x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

Centos下用yum命令按照jdk的更多相关文章

  1. CentOS下用yum命令安装jdk【转】

    一.使用yum命令安装 1.查看是否已安装JDK,卸载 [root@192 ~]# yum list installed |grep java java-1.8.0-openjdk.x86_64    ...

  2. CentOS下用yum命令安装jdk

    一.使用yum命令安装 1.查看是否已安装JDK,卸载 [root@192 ~]# yum list installed |grep java java-1.8.0-openjdk.x86_64    ...

  3. CentOS 下使用yum 命令安装MySQL

    CentOS Linux下使用yum 命令安装MySQL过程记录. 1. 查看服务器中有没有安装过MySQL 1. 查看有没有安装包: yum list mysql* #移除已经安装的mysql yu ...

  4. CentOS下的yum命令

    yum命令是rpm的一款前端工具,可以安装.更新.卸载rpm包,可以从指定服务器下下载rpm包并安装,可以自动解决依赖问题. 语法: yum [options] [command] [package ...

  5. Centos下使用yum命令报错 except KeyboardInterrupt, e: SyntaxError: invalid syntax

    使用yum命令报错 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid ...

  6. CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可

    CentOS下使用yum安装Apache极为方便,只需要在终端键入以下命令即可 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl e ...

  7. CentOS下安装yum源的流程和操作

    一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...

  8. centOS下更新yum源

    CentOS下更新yum源 1.使用如下命令,备份/etc/yum.repos.d/CentOS-Base.repo. cp /etc/yum.repos.d/CentOS-Base.repo /et ...

  9. CentOS下使用yum安装配置和使用svn

    安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 ? 1 2 3 4 5 6 7 8 9 1 ...

随机推荐

  1. C变参数函数demo

    #include <stdio.h> #include <stdarg.h> int sum(int a,...) {     int temp = 0,sum=0,count ...

  2. Android ContentProvider和Uri详解

    一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据, 也就是说你可以通过ContentProvider把应用中的数据共享 ...

  3. Hdu1896 Stones(优先队列) 2017-01-17 13:07 40人阅读 评论(0) 收藏

    Stones Time Limit : 5000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submis ...

  4. 使用WinSCP在Windows和Linux系统之间传输文件

    小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...

  5. oracle中row_number() over()分析函数用法

    row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...

  6. java web开发过程中的“\”指的是什么,如何区分

  7. Python学习-40.Python中的迭代

    在上一篇中,我们使用了生成器来创建了一个可遍历的对象.在其中,我们使用了yield关键字. Python我也正在学习中,因此对yield的本质我并不熟悉,但是,在C#中,yield关键字则是语法糖,其 ...

  8. Python学习-20.Python的Urllib模块

    除了 Http 模块可以模拟 Http 请求外,使用 Urllib 模块也是可以模拟 Http 请求的,只不过功能相对弱一点. import urllib.request opener = urlli ...

  9. 让Easy UI 的DataGrid直接内嵌的JSON对象,并重写form load 方法

    前言 我有这样的JSON对象 { "UserName": "jf", "UserPwd": "123456", &quo ...

  10. ES6 学习笔记之四 对象的扩展

    ES6 为对象字面量添加了几个实用的功能,虽然这几个新功能基本上都是语法糖,但确实方便. 一.属性的简洁表示法 当定义一个对象时,允许直接写入一个变量,作为对象的属性,变量名就是属性名. 例1: , ...