原文: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. 【HTTPS】自签CA证书 && nginx配置https服务

    首先,搭建https服务肯定需要一个https证书.这个证书可以看做是一个应用层面的证书.之所以这么说是因为https证书是基于CA证书生成的.对于正式的网站,CA证书需要到有资质的第三方证书颁发机构 ...

  2. 《深入理解Java虚拟机》读书笔记:垃圾收集器与内存分配策略

    请移步至:http://zhanjindong.info/2014/05/18/java-gc/

  3. 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机

    一.设置linux虚拟机的固定ip 1. 安装好虚拟机后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  4. JavaScript变量复制

    1.基本类型复制变量: var num1=5: var num2=num1: num1和num2是相互独立,不会相互影响 2.引用类型从一个变量向另一个变量复制引用类型的值 两个变量指向同一个对象,所 ...

  5. checkmysql.sh

    #!/bin/sh # add by lxr MYSQL_SOCK="/tmp/mysql.sock" MYSQL_PWD="qq139547" ARGS=1 ...

  6. vc写的dll被mingw的g++编译引用

    dll.cpp,用vc2017编译 #include <iostream>#include <windows.h> extern "C" __declspe ...

  7. Unity3D Shader 内置函数

    Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HL ...

  8. C语言迷题:有符号数与无符号数的问题(转)

    https://my.oschina.net/kelvinfang/blog/134725

  9. nunit2.5.7 单元测试时提示:“当前不会命中断点 还没有为该文档加载任何符号”

    解决方案: 因为项目的“目标框架”是.net4.5 所以要将对应的 nunit.exe.config 或 nunit-x86.exe.config 文件中加上: <startup> < ...

  10. easyui datagrid 弹出页面会出现两个上下滚动条处理办法!

    同事推荐将datagrid上加一个toolbar 将上面的工具元素加上就可以了 toolbar: '#divListToolbar',