原生的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.html1、先看看有沒有安裝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、檢查有沒有删除
-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 <程序号> 是可以殺掉程序的。