CentOS 7卸載openjdk 配置 JAVA環境

小背景

由於裝了雙系統(WIN10 + CentOS 7),在cenos 7上面開始配置一些基本環境。首先就是java環境,然而並不是想象中的很順利,不過還好,總是抱着“吃一塹長一智”態度的我還是耐心地解決了,下面回顧如下。

一、卸載openjdk

在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版本,那就卸載乾淨了。

二、安裝jdk1.8

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,重新來一編,果然好了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章