今天在一个新的服务器上运行项目,发现没有设置JDK的环境变量,导致$JAVA_HOME找不到jdk的安装位置。而且发现JDK版本也不太符合要求。于是又要重装JDK。但是旧的JDK不想卸载,能怎么办,只能安装好几个,留着给大家自己选喽
1)首先查看当前服务器JDK的版本库,以及安装位置
alternatives --config java
使用alternatives --config java命令,这条命令本身是选择JDK版本,当然选择的时候,就能看到当前服务器可以使用的JDK版本,无论是系统自带还是人工安装的。每个JDK之前都有一个序号,选择不同的序号,就是选择对应的JDK。
那这样,我们可以重新安装一个JDK,注册到全局,自由选择版本
2)这里就以jdk1.8.0_211 为例
第一步:解压tar包
tar -zvxf jdk-8u102-linux-x64.tar.gz
第二步:将已安装的jdk安装到全局的配置文件中
alternatives --install /usr/bin/java java /home/software/jdk/jdk1.8.0_211/bin/java 3
3代表的序号
第三步:alternatives --config java 选择jdk版本,输入:3

第四步:java -version ,确认当前jdk的版本

第五步:设置java全局环境,输入vim /etc/profile,在文件最后一行添加如下,然后wq保存退出

第六步:使全局变量生效,执行 source /etc/profile 命令
第七步:打印JAVA_HOME,执行 echo $JAVA_HOME
![]()
关于第五步:我在设置完全局变量的时候,发现source /etc/profile 报错,很奇怪,第一次遇到。
报错信息:-bash: [: root: 期待一元表达式
如果你也一样遇到这种报错,那就用另外一种办法。
1)在/etc/profile.d 文件夹下新建一个jdk.sh 文件,
2)输入同样的jdk环境信息,如下图

然后再 source /etc/profile.d/jdk.sh,能达到相同的效果。
4936

被折叠的 条评论
为什么被折叠?



