原文:https://blog.argcv.com/articles/3155.c

CentOS 7下目前默认是jdk1.6和1.7。若需要更高版本的1.8,我们就需要一点额外的手段了。 首先,我们需要从这个页面下个最新版本的jdk. Oracle提供rpm包和tar.gz包.为了省事,直接下载个rpm包完事.

若远程直接用wget下载,有时候有一点问题,需要加点参数来帮忙.参考此处.

下载完成后,可以用rpm命令安装,不过懒人更喜欢用yum搞定。

01
02
03
04
05
06
07
08
09
10
11
# yum localinstall jdk-8u20-linux-x64.rpm -y
...
Resolving Dependencies
--> Running transaction check
---> Package jdk1.8.0_20.x86_64 2000:1.8.0_20-fcs will be installed
--> Finished Dependency Resolution
...
Installed:
  jdk1.8.0_20.x86_64 2000:1.8.0_20-fcs
 
Complete!

安装完毕后,为了节省空间,rpm包也可以删除了.

这套jdk其实是在/usr/java目录下配置了一套环境。查看此目录,我们可以看到目录下多了个jdk1.8.0_20,同时用软链链接到了default和last两个目录下.

1
2
3
4
5
6
7
$ ls -al /usr/java
total 12
drwxr-xr-x.  3 root root 4096 Oct 13 22:10 .
drwxr-xr-x. 15 root root 4096 Jul 31 04:27 ..
lrwxrwxrwx.  1 root root   16 Oct 13 22:10 default -> /usr/java/latest
drwxr-xr-x.  9 root root 4096 Oct 13 22:10 jdk1.8.0_20
lrwxrwxrwx.  1 root root   21 Oct 13 22:10 latest -> /usr/java/jdk1.8.0_20

但到目前为止它并没有被实际使用.我们需要通过alternative工具来管理.

因为软链接的原因,若我们将此次配置的内容指向/usr/java/default/bin/xxx , 以后安装jdk 1.9乃至2.0的话,只要直接修改下软链接即可,而不必再这么搞一遍. 因此下面我将使用 /usr/java/default/ 为新的java home。

但是,偶然路过的你,若并不打算这么搞,而是希望指定使用jdk1.8.0_20这个版本而不希望有改变,请自行将default替换为jdk1.8.0_20。下面类似情况皆是如此,敬请注意。

首先,我们先查看下当前的alternative环境.

1
2
3
4
5
6
7
8
9
# alternatives --config java
 
There is 1 program that provides 'java'.
 
  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
 
Enter to keep the current selection[+], or type selection number: ^C

我们注意到,alternatives中已经有了一个java,而我们的目标就是在不破坏原来环境的情况下增加的一个1.8.当然,一切完毕后,诸位也可以试着自行删掉rpm包安装的那份.

我们首先将java加入alternative

1
# alternatives --install /usr/bin/java java /usr/java/default/bin/java 2

几个参数都比较好懂,就是将可执行文件/usr/java/default/bin/java软链接到/usr/bin/java,配置名为java,最后一个参数2是因为我们之前就看到,我们已经有了一个java了,所以index选择为2.

然后继续配置

01
02
03
04
05
06
07
08
09
10
# alternatives --config java
 
There are 2 programs which provide 'java'.
 
  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
   2           /usr/java/default/bin/java
 
Enter to keep the current selection[+], or type selection number: 2

我们发现多出来了一个选择,指向我们新安装的/usr/java/defalut/bin/java 。选择该命令即可。

再去查看:

01
02
03
04
05
06
07
08
09
10
# alternatives --config java
 
There are 2 programs which provide 'java'.
 
  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
 + 2           /usr/java/default/bin/java
 
Enter to keep the current selection[+], or type selection number: 2

我们发现+号已经移到了下面.

同样的,我们再配置下剩余的

1
2
3
4
# alternatives --install /usr/bin/jar jar /usr/java/default/bin/jar 2
# alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 2
# alternatives --set jar /usr/java/default/bin/jar
# alternatives --set javac /usr/java/default/bin/javac

这样就搞定了.

最后,我们可以验证下:

1
2
3
4
5
6
$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
$ javac -version
javac 1.8.0_20

最后,我们可能需要配置一下环境变量。 环境变量普通用户下配置即可。 可以直接写

1
$ export JAVA_HOME=/usr/java/default

以及其他blabla。

不过,我们也可以将其写入配置文件。具体根据使用shell而定。若使用的是bash,可以在~/.bashrc或者~/.bash_profile中添加内容如下:

1
2
3
export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/default/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

参考:

CentOS 7 下安装jdk1.8(转)的更多相关文章

  1. centos 7下安装jdk1.8

    本篇文章主要介绍在centos7 环境下安装jdk1.8并配置环境变量. 安装步骤 1.下载网址   https://www.oracle.com/technetwork/java/javase/do ...

  2. CentOS 6系统下安装 JDK1.6

    CentOS 6系统下安装 JDK1.6 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的 ...

  3. Linux CentOS 6.6安装JDK1.7

    Linux CentOS 6.6安装JDK1.7 目录 1.下载JDK 2.卸载JDK 3.安装JDK 3.1..rpm后缀格式JDK安装方式 3.2..tar.gz后缀格式JDK安装方式 4.验证安 ...

  4. CentOS 7下安装vertica记录

    CentOS 7下安装vertica记录 1.    安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...

  5. CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档

    ----------------CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档----------------------- [JDK1.7安 ...

  6. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  7. CentOS 6 下安装Python 3

    可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...

  8. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  9. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

随机推荐

  1. .NET DLL 加密工具

    最近发现了一个软件叫 DotfuscatorPro 混淆加密工具 设置方式如下 1. Settings->Global Options Disable String Encryption 设为  ...

  2. Apache Nginx URL 地址 重写

    URL重写这东西在工作中用了很多次了,但每次都忘记了要记得把知道的积累下来. 哎,要么认为没必要,要么就是没时间?! 一.Apache 篇 官方地址:http://man.chinaunix.net/ ...

  3. ElasticSearch6(三)-- Java API实现简单的增删改查

    基于ElasticSearch6.2.4, Java API创建索引.查询.修改.删除,pom依赖和获取es连接 可查看此文章. package com.xsjt.learn; import java ...

  4. webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法

    最近在研究webpack,当我执行npm run build / npm start / npm run server等命令时,都是提示下面的警告信息 WARNING in configuration ...

  5. 在浏览器中高效使用JavaScript module(模块)

    在浏览器中也可以使用JavaScript modules(模块功能)了.目前支持这一特性的浏览器包括: Safari 10.1. 谷歌浏览器(Canary 60) – 需要在chrome:flags里 ...

  6. [原]Jenkins(十四)---jenkins示例:admin管理所有项目,新建用户只能看部分项目

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  7. JS正则校验

    /** 用途:检查输入字符串是否为空或者全部都是空格 输入:str:字符串 返回: 如果全是空返回true,否则返回false */ function isNull(str) { if (str == ...

  8. (ecj)Eclipse的Java编译器分析之一——ecj介绍

    Java是一个开放的平台,对于除发布编译器/解释器/基础类库之外,该语言的负责机构更多的是制定一系列标准,任何符合标准的厂商产品均可用于市场投放.甚至包括其编译器及解释器. (比如Hibernate提 ...

  9. EF Core 2.1变化

    EF Core 2.1随.NET Core 2.1一起发布,本篇文章总结一下EF Core的新增功能,先从简单的开始说. 一.延迟加载 延迟加载不用介绍了吧,直接看一下怎样配置吧.EF Core 2. ...

  10. Flask web开发之路四

    jinjia2模板 模板渲染和参数传递 项目结构如下: 主app文件代码: from flask import Flask,render_template app = Flask(__name__) ...