原生的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 -versionopenjdk 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 javajava-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
[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 -xvfjdk-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 <进程号> 是可以杀掉进程的。