CentOS 7 下安装jdk1.8(转)
原文: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-fcsComplete! |
安装完毕后,为了节省空间,rpm包也可以删除了.
这套jdk其实是在/usr/java目录下配置了一套环境。查看此目录,我们可以看到目录下多了个jdk1.8.0_20,同时用软链链接到了default和last两个目录下.
|
1
2
3
4
5
6
7
|
$ ls -al /usr/javatotal 12drwxr-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/latestdrwxr-xr-x. 9 root root 4096 Oct 13 22:10 jdk1.8.0_20lrwxrwxrwx. 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 javaThere 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/javaEnter 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 javaThere 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/javaEnter 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 javaThere 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/javaEnter 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 -versionjava 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 -versionjavac 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/defaultexport JRE_HOME=/usr/java/default/jreexport PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin |
参考:
CentOS 7 下安装jdk1.8(转)的更多相关文章
- centos 7下安装jdk1.8
本篇文章主要介绍在centos7 环境下安装jdk1.8并配置环境变量. 安装步骤 1.下载网址 https://www.oracle.com/technetwork/java/javase/do ...
- CentOS 6系统下安装 JDK1.6
CentOS 6系统下安装 JDK1.6 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的 ...
- 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.验证安 ...
- CentOS 7下安装vertica记录
CentOS 7下安装vertica记录 1. 安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...
- CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档
----------------CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档----------------------- [JDK1.7安 ...
- CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...
- CentOS 6 下安装Python 3
可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...
- CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)
原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
随机推荐
- CentOS下安装Vmtools
基本步骤差不多 [root@rd01 ~]# cd /media [root@rd01 ~]# ls -a [root@rd01 ~]# cp VMwareTools-5.5.1-19175.tar. ...
- laravel数据库配置
1.说明,查看laravel数据库配置 项目名/config/database.php 'default' => env('DB_CONNECTION', 'mysql') 2.数据开发 ...
- The last packet successfully received from the server was 20,519 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
本地升级了下MySQL的版本,从5.6升为5.7,数据文件直接拷贝的,项目查询数据库报错: Could not retrieve transation read-only status server ...
- nodejs 单线程 高并发
nodejs为什么是单线程且支持高并发的脚本语言呢? 1.node的优点:I/O密集型处理(node的I/O请求都是异步的,如:sql查询.文件流操作.http请求……):异步I/O?顾名思义就是异步 ...
- luanet更名为distri.lua
为了更好的体现luanet的设计意图和避免与网上另一个开源项目重名造成混淆, luanet正式更名为distri.lua.后需开发工作包括跨平台,日志,通过Fork创建新线程正在开发中. 新地址:ht ...
- 使用LevelListDrawable实现Html.fromHtml多张图片显示
stackoverflow网站果然强大,帮了我不少忙! http://stackoverflow.com/questions/16179285/html-imagegetter-textview 首先 ...
- React性能分析利器来了,妈妈再也不用担心我的React应用慢了(转)
Profiler React16.5正式在devtool中加入了Profiler功能,用于收集每次变更导致的渲染时间,帮助开发者发现潜在的性能问题,有助于开发更高性能的React应用 官方博客 如何使 ...
- js for in 获得遍历数组索引和对象属性
for in 遍历对象属性 获取的是对象的属性名 var person ={ name:"admin", age:"21", address:"sha ...
- 数据结构与算法——基数排序简单Java实现
基数排序(radix sort)又称“桶子法”,在对多个正整数进行排序时可以使用.它的灵感来自于队列(Queue),它最独特的地方在于利用了数字的有穷性(阿拉伯数字只有0到9的10个). 基数排序使用 ...
- python3之深浅拷贝
深浅copy 1,先看赋值运算. l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barry', ...