CentOS 7 刪除自帶的JDK,然後自己安裝想要的版本(★firecat推薦★)

libaineu2004發表於2018-04-24

原生的centos 7會自帶jdk,但自帶的openjdk不好用(例如jps終端命令不能用等)。

自帶的路徑在/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64。

我們建議把自帶的刪除,用java官網釋出的完整版jdk,網址如下:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


1、先看看有沒有安裝java -version

[root@java-test-01 ~]# java -version
openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-b16)
OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)


2、查詢他們的安裝位置(注意不同系統的java版本號會有差異)

[root@java-test-01 ~]# rpm -qa | grep java
java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64
java-1.8.0-openjdk-headless-1.8.0.141-1.b16.el7_3.x86_64
java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.1.el7_3.x86_64
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2017b-1.el7.noarch


3、刪除全部,noarch檔案可以不用刪除

[root@java-test-01 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
[root@java-test-01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64
[root@java-test-01 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.141-1.b16.el7_3.x86_64
[root@java-test-01 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.1.el7_3.x86_64


4、檢查有沒有刪除

[root@java-test-01 ~]# java -version
-bash: /usr/bin/java: 沒有那個檔案或目錄
如果還沒有刪除,則用yum -y remove去刪除他們


5、接下來,我們安裝完整版的JDK。

官網下載jdk,jdk-8u172-linux-x64.tar.gz,解壓到路徑/root/Downloads/jdk1.8.0_172

tar -xvf jdk-8u172-linux-x64.tar.gz


6、修改環境變數/etc/profile

export JAVA_HOME=/root/Downloads/jdk1.8.0_172
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
#export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

讓配置立即生效

[root@bogon ~]# source /etc/profile

建議重啟系統使得配置檔案生效是最可靠的。


7、驗證

[root@bogon ~]# java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
[root@bogon ~]# echo $JAVA_HOME
/root/Downloads/jdk1.8.0_172
[root@bogon ~]# echo $PATH
.:/root/Downloads/jdk1.8.0_172/bin:/root/Downloads/jdk1.8.0_172/jre/bin:.:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/bin:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/jre/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin

[root@bogon ~]# javac
Usage: javac <options> <source files>

where possible options include:


----

關於jps終端命令:

jps 是java提供的檢視java程式的工具,比如我用jps命令檢視,正常情況會列出如下資訊:
<程式號1111> …… <程式名A>
<程式號2222> …… <程式名B>
<程式號3333> …… <程式名C>
<程式號4444> …… <Jps>

這時用kill -9 <程式號> 是可以殺掉程式的。


相關文章