前言:
Liunx系统有自带jdk的版本,因为系统中的有些软件需要使用此环境。但我们安装tomcat的时候,使用此jdk是不行的。这时候我们就需要安装我们自己下载的jdk,但在此之前我们需要卸载系统自带的jdk.
一、Liunx 中安装 java jdk
1.1 卸载 centos7 自带的 jdk
# 查询系统是否以安装jdk
rpm -qa|grep java
# 卸载已安装的jdk
rpm -e --nodeps [软件名称]
# 验证一下是还有jdk
rpm -qa|grep java
1.2 下载解压 jdk 包
① jdk-8u281-linux-x64.tar.gz 提取码: qfin, 放在 /usr/local 文件夹下并解压
tar -zxvf jdk-8u281-linux-x64.tar.gz
② vim /etc/profile 配置环境变量
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_281
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
③执行 source /etc/profile
使配置文件生效
④检查是否配置成功
二、踩坑小记
按照上述安装操作以后,验证是否配置成功时出现下图问题:
Error: Could not create the Java Virtual Machine. 无法创建Java虚拟机
Error: A fatal exception has occurred. Program will exit. 一个致命的异常发生。程序将退出
可能产生上图问题的原因有如下几种:
网上这个问题都是针对windows 和 eslipse, liunx 的甚少,且基本原因是以下前三种原因,而我恰恰不是这三种情况,后面自己慢慢捣鼓,整出第四种情况,一个简单的配置JDK差点把我整裂开 😅😅
① 查看命令是否输入错误
java 1.7 : java --version
java 1.8 : java -version
② 再次查看 etc/profile 是否配置错误
③ 查看系统与jdk是否兼容,jdk如果是64位要对应64位的系统
④ 查看所有环境变量是否重复配置,导致冲突(我的问题就是出现在这里)
注意: 当我们删除 /etc/profile 里面配置的环境变量时,实则并没有删除,可以使用
env
命令查看所有环境变量,发现在 profile 里删除的环境变量其实并没有被删除,我当时就是好几次环境变量配置错误,删除又重新配置,导致重复起冲突。
解决: 使用 unset [环境变量名称] 命令删除环境变量,再重新在 /etc/profile 中配置环境变量, 保存后执行
source /etc/profile
使配置文件生效,再次尝试 java -version 生效!