背景

  • 现在很多Linux系统在安装完成时就自带jdk,但是系统自带的jdk有时候并不符合我们的需求,这时候我们需要自己来安装jdk。

步骤

  • 下载jdk,我下载的是64位的jdk-8u161-linux-x64.tar.gz

    • jdk7:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html
    • jdk8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  

  • 解压压缩包:tar -zxvf 'jdk-8u161-linux-x64.tar.gz',在同一目录下获得文件jdk-1.8.0_161
  • 卸载系统自带安装包(如果不卸载,即使自己安装了jdk并且配置环境变量后,系统也是使用的自带jdk),如果系统没有自带jdk,可以略过这一步
    • 检查系统自带jdk版本:java   -version

      openjdk version "1.8.0_102"
      OpenJDK Runtime Environment (build 1.8.0_102-b14)
      OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
    • 查找jdk相关文件:rpm -qa | grep 'java'
      java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
      python-javapackages-3.4.1-11.el7.noarch
      tzdata-java-2016g-2.el7.noarch
      javapackages-tools-3.4.1-11.el7.noarch
      java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
      java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
      java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
    • 卸载相关文件
      [root@localhost root]# rpm -e --nodeps tzdata-java-2016g-2.el7.noarch
      [root@localhost root]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
      [root@localhost root]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
      [root@localhost root]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
      [root@localhost root]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
    • 再次查找jdk相关文件:rpm -q | grep 'java'
      python-javapackages-3.4.1-11.el7.noarch
      javapackages-tools-3.4.1-11.el7.noarch
  • 安装自己的jdk
    • 其实将jdk压缩包解压完成之后,只需要在配置一下环境变量就可以使用自己的jdk了
    • 要是感觉路径不好可以将安装包换个路径,举个栗子,把jdk文件复制到usr/java/jdk1.8文件夹下:cp -r  'jdk1.8.0_161/'  '/usr/java/jdk1.8.0_161'
  • 配置环境变量
    • 编辑profile文件(此文件里是系统环境变量配置文件):vim  '/etc/profile',如下图

    • 在文件中写入如下代码
      export JAVA_HOME=/usr/java/jdk1.8.0_161
      export JRE_HOME=${JAVA_HOME}/jre
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
      export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin

      PS!!! ${JAVA_HOME}/lib:${JRE_HOME}/lib之间是冒号,是冒号,冒号!!!!!!,下面也是!!!

  • 重新加载系统环境变量:source  '/etc/profile'
  • 查看系统jdk版本:java -version,显示如下
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b11, mixed mode)
  • 成功

CentOS7搭建jdk的更多相关文章

  1. 初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群

     一.前言 开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群.搭建一个分布式集群需要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群. 注:1 ...

  2. centos7 搭建jenkins

    centos7 搭建jenkins.note 环境:VMware 虚拟机 centos 7+ jdk 1.8+ tomcat7+jenkins搭建好linux 服务器后,关闭防火墙 停止firewal ...

  3. centos7搭建伪分布式集群

    centos7搭建伪分布式集群 需要 centos7虚拟机一台: jdk-linux安装包一个 hadoop-2.x安装包1个(推荐2.7.x) 一.设置虚拟机网络为静态IP(最好设成静态,为之后编程 ...

  4. centos7搭建hadoop2.10高可用(HA)

    本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode):3台jns(journalnodes) IP hostnam ...

  5. centos7搭建hadoop2.10完全分布式

    本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 ...

  6. CentOS7搭建Hadoop-3.3.0集群手记

    前提 这篇文章是基于Linux系统CentOS7搭建Hadoop-3.3.0分布式集群的详细手记. 基本概念 Hadoop中的HDFS和YARN都是主从架构,主从架构会有一主多从和多主多从两种架构,这 ...

  7. centos7 搭建GlusterFS

    centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...

  8. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  9. Centos7搭建FTP服务器

    从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功. 一.通过yum安装vsftpd yum install -y vsftpd 二.修改v ...

随机推荐

  1. 关于toolchain(工具链)的一点知识

    之前一直觉得toolchain是个高大上的东西,现摘录 uClibc中的FAQ以助理解. A toolchain consists of GNU binutils, the gcc compiler, ...

  2. 《A Structured Self-Attentive Sentence Embedding》(注意力机制)

    Background and Motivation: 现有的处理文本的常规流程第一步就是:Word embedding.也有一些 embedding 的方法是考虑了 phrase 和 sentence ...

  3. Spring Boot中Service用@Transactional 注解

    一般来说function2和function1用的是同一个Transaction. 这个取决于@Transactional 的 propagation设置(事务的传播性) 默认的是 1 @Transa ...

  4. Rpgmakermv(34) Mog_Event Sensor

    原文: =============================================================================+++ MOG - Event Sen ...

  5. 05 enumerate index使用

    # enumerate 自动生成一列, 默认0开始,每次自增+1li = ["电脑","鼠标垫","U盘","游艇"]f ...

  6. Acperience (英语阅读 + 数学推导)

    #include<bits/stdc++.h> using namespace std; int main(){ int T,n,m;scanf("%d",&T ...

  7. 设计模式之Builder(建造者)(转)

    Builder模式定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以 ...

  8. node.js核心技术

    一.知识结构: http模块:配置简单 的web服务,npm/cnpm工具 express框架:express中间件进行服务配置:路由:请求处理: DB服务:学习使用mysql关系型数据库: web接 ...

  9. js遍历对象所有的属性名称和值

    /* * 用来遍历指定对象所有的属性名称和值 * obj 需要遍历的对象 * author: Jet Mah * website: http://www.javatang.com/archives/2 ...

  10. asyncio queue

    from asyncio import Queue,sleep import asyncio from threading import Thread import time qu=Queue() # ...