问题:目前CentOS安装的jdk大版本是jdk7,但是现在遇到的需求是需要jdk8+,所以就有了这篇文章
先查看你的CentOS是64位的还是32位的
用命令uname -a 即可
Linux hostname 2.6.32-358.el6.i686 #1 SMP Thu Feb 21 21:50:49 UTC 2013 i686 i686 i386 GNU/Linux
el6.i686 i386 这样就是32位的
el6.x86_64 这样则是64位的
所以我们下载32位的jdk
oracle官网地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 选择适合你的版本下载到本地
我下载jdk8是这个链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
上图中可以选tar.gz源码包或者是rpm安装包,我是选择tar.gz下载
上传到虚拟机的步骤略
网上看到大家说需要先卸载之前的jdk环境
给的命令是(注:该命令是针对rpm安装的jdk)
rpm -qa | grep java
rpm -qa | grep jdk //查看是否存在jdk
卸载命令
比如上面的查询命令找到存在:java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
则用:rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64卸载
因为我之前的jdk7版本也是tar.gz安装的所以不需要卸载
解压tar -zxvf jdk-8u191-linux-i586.tar.gz -C /usr/local/java/
我是解压到/usr/local/java/下
之后配置:vim /etc/profile
在文件最后面插入:
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
JAVA_HOME是上面jdk解压路径
文件截图
上图中我们看到注释掉的jdk7配置中JAVA_HOME前面并没有export亲测也是可以的
修改好ESC : wq保存
修改了文件需要使其生效
命令:source /etc/profile
之后:java -version
到此jdk8版本就配置好了
当然上面vim /etc/profile 是在profile中追加,也可以不这样
可以在/etc/profile.d/下新建一个jdk.sh之后vim jdk.sh 插入如下内容
JAVA_HOME=/usr/local/java/jdk1.8.0_144 JRE_HOME=/usr/java/jdk1.8.0_65/jre CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME CLASSPATH
同理让配置的环节立即生效:source /etc/profile
查看版本:java -version
至于第二种方式为什么可以截取一段profile中的脚本说明
该文件会读取profilee.d/的所有.sh的文件并引用
参考:https://www.linuxidc.com/Linux/2018-03/151326.htm
https://blog.csdn.net/pang_ping/article/details/80570011
https://www.cnblogs.com/equation/p/5328523.html
https://blog.csdn.net/small_love/article/details/77394721
http://blog.51cto.com/suxiaomeng/1394787
https://blog.csdn.net/baiyunxiaoxiao_chen/article/details/70596518