一、下载 JDK

  点击下载:jdk-8u211-linux-x64.tar.gz

  根据需要选择对应版本和位数,并将文件放入CentOS中的相关目录中,以 /java/jdk 目录为例,执行 makdir /java/jdk 命令创建该目录;使用Xftp工具将下载的 JDK 压缩文件放入其中。

二、解压

# 切换到 JDK 压缩包所在的目录
$ cd /java/jdk
# 将压缩包解压缩到当下目录
$ tar -zxvf jdk-8u211-linux-x64.tar.gz
# tar 命令中的参数说明:
# -z 支持gzip解压文件
# -x 从压缩的文件中提取文件
# -v 显示操作过程
# -f 指定压缩文件

  解压后的 JDK 目录为:/java/jdk/jdk_1.8.0_211/ ,此目录便是下面将要配置环境变量中的 JAVA_HOME变量的值;

三、环境变量

  JDK 环境变量的配置有三种方式:全局永久生效、当下用户永久生效、临时生效。根据具体需要,选择其一即可。

   1、全局永久生效

  此方法对所有用户生效。执行命令vim /etc/profile 来编辑/etc/profile文件,按键盘i进入编辑模式,在文本末尾添加以下内容:

#set java environment
export JAVA_HOME=/java/jdk/jdk_1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

  依次按键盘 Esc —> (Shift+:) —> q —> w ,即保存并退出编辑模式。然后执行命令 source /etc/profile 使修改立即生效。

  注:此方法还有另一种形式,不需要修改/etc/profile文件,而是要在目录/etc/profile.d/中创建新文件jdk.sh,并编辑。具体操作:执行命令 vim /etc/profile.d/jdk.shvim命令会判断当/etc/profile.d/目录中不存在文件jdk.sh时,会自动创建jdk.sh文件,并编辑。编辑内容同上,最后执行命令source /etc/profile.d/jdk.sh使其生效。

   2、当下用户永久生效

  此方法只针对当下登陆的用户有效,执行命令 vim ~/.bash_profile 来编辑当下用户根目录中的/home/用户名/.bash_profile 文件,在文末添加内容同上,并执行命令source ~/.bash_profile使其生效。

   3、临时生效

  直接运行命令export PATH=$PATH:/java/jdk/jdk_1.8.0_211/bin,使用这种方法,只会对当前会话生效。

四、验证

  最后,执行命令 java -version 验证 JDK 环境变量是否配置成功,若正常显示java版本信息则表示 JDK 安装成功。此时/java/jdk/jdk-8u211-linux-x64.tar.gz已无用,如不需要可以将其删除。

CentOS 安装 JDK 三种形式详细总结的更多相关文章

  1. MySQL安装的三种方式

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...

  2. Linux安装Jdk,CentOS安装Jdk

    Linux安装Jdk,CentOS安装Jdk >>>>>>>>>>>>>>>>>>>& ...

  3. zookeeper 安装的三种模式

    Zookeeper安装 zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper ...

  4. spring对事务支持的三种形式

    spring对事务支持的三种形式: 1.通过spring配置文件进行切面配置 <bean id="***Manager" class="org.springfram ...

  5. Qt学习 之 多线程程序设计(QT通过三种形式提供了对线程的支持)

    QT通过三种形式提供了对线程的支持.它们分别是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线 ...

  6. Spring Framework5.0 学习(3)—— spring配置文件的三种形式

    Spring Framework  是 IOC (Inversion of Control  控制反转)原则的实践. IoC is also known as dependency injection ...

  7. spring Bean配置的三种形式

    Spring Bean配置有以下三种形式: 传统的xml配置 Spring 2.5 以后新增注解配置 Spring3.0以后新增JavaConfig 1. 传统的xml配置 <?xml vers ...

  8. 2、shader基本语法、变量类型、shader的三种形式、subshader、fallback、Pass LOD、tags

    新建一个shader,名为MyShader1内容如下: 1._MainTex 为变量名 2.“Base (RGB)”表示在unity编辑面板中显示的名字,可以定义为中文 3.2D 表示变量的类型 4. ...

  9. PHP数组输出三种形式 PHP打印数组

    PHP数组输出三种形式 PHP打印数组   $bbbb=array("11"=>"aaa","22"=>"bbb&qu ...

随机推荐

  1. Connecting to the Network

    This lesson shows you how to implement a simple application that connects to the network. It explain ...

  2. 数据结构-树以及深度、广度优先遍历(递归和非递归,python实现)

    前面我们介绍了队列.堆栈.链表,你亲自动手实践了吗?今天我们来到了树的部分,树在数据结构中是非常重要的一部分,树的应用有很多很多,树的种类也有很多很多,今天我们就先来创建一个普通的树.其他各种各样的树 ...

  3. Web前端三大框架_vue源码笔记

    一.VUE 1.1 MVVM VUE也是基于MVVM模式实现的.特点就是数据双向绑定 在MVVM模式中,分成三个部分: M 模型 model V 视图 view VM 视图-模型 view-model ...

  4. 深入理解Java虚拟机二 阅读笔记

    xl_echo编辑整理.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! --- > 以下内容摘抄自 ...

  5. Excel催化剂开源第34波-SM.MS图床API调用(用POST上传multipart/form-data内容)

    日常做网抓数据,都是以GET请求为主,偶尔遇到需要POST请求的,一般POST的参数只是一串字符串就可以了,通过构造字符串也很容易完成,但此次SM.MS的API接口要求是Content-Type: m ...

  6. [leetcode] 20. Valid Parentheses (easy)

    原题链接 匹配括号 思路: 用栈,遍历过程中,匹配的成对出栈:结束后,栈空则对,栈非空则错. Runtime: 4 ms, faster than 99.94% of Java class Solut ...

  7. 2019牛客多校第一场A-Equivalent Prefixes

    Equivalent Prefixes 传送门 解题思路 先用单调栈求出两个序列中每一个数左边第一个小于自己的数的下标, 存入a[], b[].然后按照1~n的顺序循环,比较 a[i]和b[i]是否相 ...

  8. 【剑指offer】面试题(三)

    package com.haxianhe.test; /** *题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序, *每一列都按照从上到下递增的顺序排序. *请完成一个函数, *输入这样的一 ...

  9. LinkedList实现类

    List还有一个LinkedList的实现,它是一个基于链表实现的List类,对于顺序访问集合中的元素进行了优化,特别是当插入.删除元素时速度非常快.因为LinkedList即实现了List接口,也实 ...

  10. solidity的delete操作汇总

    简介 Solidity中的特殊操作符delete用于释放空间,为鼓励主动对空间的回收,释放空间将会返还一些gas. delete操作符可以用于任何变量,将其设置成默认值0. 删除枚举类型时,会将其值重 ...