由于装了双系统(WIN10 + CentOS 7),在cenos 7上面开始配置一些基本环境。首先就是java环境,然而并不是想象中的很顺利,不过还好,总是抱着“吃一堑长一智”态度的我还是耐心地解决了,下面回顾如下。
在centos中一般会内置一个openjdk,我们首先是需要将这个卸载之后才能安装自己的jdk。
1、首先,输入下面命令,结果也如下面所示:
# rpm -qa | grep jdk //首先查看所有的软件包,之后再列举包含jdk字符的软件包
java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64
java-1.8.0-openjdk-headless-debug-1.8.0.171-8.b10.el7_5.i686
copy-jdk-configs-3.3-2.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.191.b12-0.el7_5.x86_64
2、看到了自带的openjdk之后,那着手卸载吧,敲那么一行也就ok了。
#yum -y remove copy-jdk-configs-3.3-2.el7.noarch
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
·········此处省略几十行······
删除:
copy-jdk-configs.noarch 0:3.3-2.el7
作为依赖被删除:
java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-0.el7_5
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-0.el7_5
java-1.8.0-openjdk-headless-debug.i686 1:1.8.0.171-8.b10.el7_5
jline.noarch 0:1.0-8.el7
完毕!
3、检验一下,输入java -version,发现并不能出来java版本,那就卸载干净了。
1、官网下载 jdk-8u151-linux-x64.tar.gz,下载完成之后上传到centos中。
2、解压
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/programing
3、配置环境变量
#vim /etc/profile
=====在最后面添加下面语句=====
#set jdk1.8.0_151 environment
export JAVA_HOME=/usr/programing/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
4、通过source /etc/profile 命令使得修改后的文件生效
5、输入java -verison,检验一下
[root@localhost ~]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
三、问题总结
1、一开始我是先装了jdk8,后来才卸载的,然后出现了下面的问题
[root@localhost ~]# java
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
这个问题困扰了我一个小时,一开始通过网上的教程了解到出现种情况,要么是因为没有libjli.so这个文件,要么就是这个文件出现了重复。好,那就查看一下到底有没有这玩意。
[root@localhost ~]# which libjli.so
/usr/bin/which: no libjli.so in (/opt/programing/jdk1.8.0_151/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin)
果然没有,那咋整呢?yum install libjli.so ,一波操作下来,提示是下载好了,如下:
[root@localhost ~]# yum install libjli.so
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.nju.edu.cn
软件包 1:java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.i686 已安装并且是最新版本
无须任何处理
实际呢?再次输入java还是报那个错。真的是奇了怪了。那难道是重复了?于是又按照另外一种方法:
把/usr/bin/java和/usr/bin/jar以及/usr/bin/javac三者全部删掉,
rm -rf /usr/bin/javac
rm -rf /usr/bin/jar
rm -rf /usr/bin/java
之后重新生成软链接(其实就是类似与windows里面的快捷方式)
ln -s $JAVA_HOME/bin/javac /usr/bin/javac
ln -s $JAVA_HOME/bin/jar /usr/bin/jar
ln -s $JAVA_HOME/bin/javac /usr/bin/java
之后发现,还是不行!!!
然后,我就再次看了一下错误的代码,发现是因为我安装的JDK里面没有jre这个文件夹,因此也就是缺少了这个共享库文件。找到原因之后,重新下载了jdk,重新来一编,果然好了。