一、下载 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. k8s学习 - 概念 - ReplicaSet

    k8s学习 - 概念 - ReplicaSet 首先,ReplicaSet 和 ReplicationController 基本上一样,除了上篇说到的selector有不同之外,没有啥区别.(官网也是 ...

  2. The Summer Training Summary-- the first

    The Summer Training Summary-- the first A - vector的使用 UVa 101 关于vector 的几个注意点 vector p p.push_back() ...

  3. 小白开学Asp.Net Core 开篇

    开学Asp.Net Core 开篇 一.准备工作 1.操作环境:Win10 2.开发工具:VS2019 3.运行环境:.Net Core 2.2 4.数据库:SqlServer2012 二.项目搭建 ...

  4. Eclipse Spring框架配置

    1.从官网下载相应的jar包 (1)下载spring framework包,地址: https://repo.spring.io/webapp/#/artifacts/browse/tree/Gene ...

  5. ==和equals的区别,85%的求职者“理直气壮”地回答错误

    应该会有不少初学的小伙伴上来就说:==比较的是地址值,equals比较的是值.这样回答对吗? 下面详细说下两者的区别. ==运算符 对于基本数据类型来说,比较的是数值 对于引用数据类型来说,比较的是地 ...

  6. 【MySQL】(五)索引与算法

    本篇文章的主旨是对InnoDB存储引擎支持的索引做一个概述,并对索引内部的机制做一个深入的解析,通过了解索引内部构造来了解哪里可以使用索引. 1.InnoDB存储引擎支持以下几种常见的索引: B+树索 ...

  7. Webpack打包效率优化篇

    Webpack基础配置: 语法解析:babel-loader 样式解析:style-loader css解析:css-loader less解析:less-loader 文件解析:url-loader ...

  8. Java面试题-基础篇三(干货)

    这些JAVA基础题确定都会了吗? 31.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可 ...

  9. golang在多个go routine中进行map或者slice操作应该注意的对象。

    因为golang的map和列表切片都是引用类型,且非线程安全的,所以在多个go routine中进行读写操作的时候,会产生“map read and map write“的panic错误. 某一些类型 ...

  10. 部分 语法Mysql

    ##1.创建数据库 CREATE DATABASE S2230MySchool ##2.创建数据表 CREATE TABLE Student ( stuNo INT PRIMARY KEY AUTO_ ...