一:卸载系统自带安装的JDK
注:本文参考了《 使用CentOS7卸载自带jdk安装自己的JDK1.8》
通过xshell工具成功连接安装好的虚拟机之后可通过 rpm -qa | grep Java 命令来查询出系统自带的jdk(带箭头的四个就是系统自带的)注:不带箭头的那三个不要删掉
然后通过 rpm -e --nodeps 后面跟系统自带的jdk名 这个命令来删除系统自带的jdk,
例如:rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
删完之后可以再通过 rpm -qa | grep Java 命令来查询出是否删除掉
二:Centos7 通过yum命令安装jdk1.8
注:本段内容参考了《Centos7 通过yum命令安装jdk1.8》
先查看系统有没有自带的openjdk
rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj
[root@localhost java]# rpm -qa | grep java tzdata-java-2016g-2.el7.noarch python-javapackages-3.4.1-11.el7.noarch [root@localhost java]# rpm -qa |grep jdk copy-jdk-configs-1.2-1.el7.noarch [root@localhost java]# rpm -qa |grep gcj [root@localhost java]#
如果安装了,首先卸载
批量卸载
rpm -qa | grep java | xargs rpm -e –nodeps
检索yum中有没有java1.8的包
yum list java-1.8*
开始安装
yum install java-1.8.0-openjdk* -y
[root@localhost java]# yum install java-1.8.0-openjdk* -y Loaded plugins: fastestmirror, langpacks file://yum/mnt/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.xml" Trying other mirror. Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.102-4.b14.el7 will be installed --> Processing Dependency: java-atk-wrapper for package: 1:java-1.8.0-openjdk-accessibility-1.8.0.102-4.b14.el7.x86_64 ---> Package java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-demo.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.102-4.b14.el7 will be installed --> Processing Dependency: jpackage-utils for package: 1:java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64 ---> Package java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-src.x86_64 1:1.8.0.102-4.b14.el7 will be installed ---> Package java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.102-4.b14.el7 will be installed --> Running transaction check ---> Package java-atk-wrapper.x86_64 0:0.30.4-5.el7 will be installed ---> Package javapackages-tools.noarch 0:3.4.1-11.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================ Installing: java-1.8.0-openjdk x86_64 1:1.8.0.102-4.b14.el7 c7-media 230 k java-1.8.0-openjdk-accessibility x86_64 1:1.8.0.102-4.b14.el7 c7-media 38 k java-1.8.0-openjdk-accessibility-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 38 k java-1.8.0-openjdk-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 234 k java-1.8.0-openjdk-demo x86_64 1:1.8.0.102-4.b14.el7 c7-media 1.9 M java-1.8.0-openjdk-demo-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 2.0 M java-1.8.0-openjdk-devel x86_64 1:1.8.0.102-4.b14.el7 c7-media 9.7 M java-1.8.0-openjdk-devel-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 9.7 M java-1.8.0-openjdk-headless x86_64 1:1.8.0.102-4.b14.el7 c7-media 31 M java-1.8.0-openjdk-headless-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 32 M java-1.8.0-openjdk-javadoc noarch 1:1.8.0.102-4.b14.el7 c7-media 15 M java-1.8.0-openjdk-javadoc-debug noarch 1:1.8.0.102-4.b14.el7 c7-media 15 M java-1.8.0-openjdk-javadoc-zip noarch 1:1.8.0.102-4.b14.el7 c7-media 41 M java-1.8.0-openjdk-javadoc-zip-debug noarch 1:1.8.0.102-4.b14.el7 c7-media 41 M java-1.8.0-openjdk-src x86_64 1:1.8.0.102-4.b14.el7 c7-media 45 M java-1.8.0-openjdk-src-debug x86_64 1:1.8.0.102-4.b14.el7 c7-media 45 M Installing for dependencies: java-atk-wrapper x86_64 0.30.4-5.el7 c7-media 71 k javapackages-tools noarch 3.4.1-11.el7 c7-media 73 k Transaction Summary ============================================================================================================================================================================ Install 16 Packages (+2 Dependent packages) Total download size: 290 M Installed size: 1.0 G Downloading packages: ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 71 MB/s | 290 MB 00:00:04 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. ** Found 14 pre-existing rpmdb problem(s), 'yum check' output follows: icedtea-web-1.6.2-4.el7.x86_64 has missing requires of java-1.8.0-openjdk icedtea-web-1.6.2-4.el7.x86_64 has missing requires of jpackage-utils icedtea-web-1.6.2-4.el7.x86_64 has missing requires of jpackage-utils ipa-client-4.4.0-12.el7.centos.x86_64 has installed conflicts freeipa-client: ipa-client-4.4.0-12.el7.centos.x86_64 ipa-client-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch jline-1.0-8.el7.noarch has missing requires of java >= ('0', '1.5', None) jline-1.0-8.el7.noarch has missing requires of jpackage-utils 1:libreoffice-core-5.0.6.2-3.el7.x86_64 has missing requires of java-headless >= ('1', '1.6', None) 1:libreoffice-ure-5.0.6.2-3.el7.x86_64 has missing requires of libjvm.so()(64bit) rhino-1.7R4-5.el7.noarch has missing requires of jpackage-utils rhino-1.7R4-5.el7.noarch has missing requires of jpackage-utils tagsoup-1.2.1-8.el7.noarch has missing requires of jpackage-utils tagsoup-1.2.1-8.el7.noarch has missing requires of jpackage-utils >= ('0', '1.6', None) Installing : javapackages-tools-3.4.1-11.el7.noarch 1/18 Installing : 1:java-1.8.0-openjdk-headless-debug-1.8.0.102-4.b14.el7.x86_64 2/18 Installing : 1:java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64 3/18 Installing : 1:java-1.8.0-openjdk-devel-1.8.0.102-4.b14.el7.x86_64 4/18 Installing : 1:java-1.8.0-openjdk-debug-1.8.0.102-4.b14.el7.x86_64 5/18 Installing : 1:java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 6/18 Installing : java-atk-wrapper-0.30.4-5.el7.x86_64 7/18 Installing : 1:java-1.8.0-openjdk-accessibility-debug-1.8.0.102-4.b14.el7.x86_64 8/18 Installing : 1:java-1.8.0-openjdk-accessibility-1.8.0.102-4.b14.el7.x86_64 9/18 Installing : 1:java-1.8.0-openjdk-demo-1.8.0.102-4.b14.el7.x86_64 10/18 Installing : 1:java-1.8.0-openjdk-devel-debug-1.8.0.102-4.b14.el7.x86_64 11/18 Installing : 1:java-1.8.0-openjdk-demo-debug-1.8.0.102-4.b14.el7.x86_64 12/18 Installing : 1:java-1.8.0-openjdk-src-1.8.0.102-4.b14.el7.x86_64 13/18 Installing : 1:java-1.8.0-openjdk-javadoc-1.8.0.102-4.b14.el7.noarch 14/18 Installing : 1:java-1.8.0-openjdk-javadoc-zip-1.8.0.102-4.b14.el7.noarch 15/18 Installing : 1:java-1.8.0-openjdk-src-debug-1.8.0.102-4.b14.el7.x86_64 16/18 Installing : 1:java-1.8.0-openjdk-javadoc-zip-debug-1.8.0.102-4.b14.el7.noarch 17/18 Installing : 1:java-1.8.0-openjdk-javadoc-debug-1.8.0.102-4.b14.el7.noarch 18/18 Verifying : 1:java-1.8.0-openjdk-accessibility-debug-1.8.0.102-4.b14.el7.x86_64 1/18 Verifying : java-atk-wrapper-0.30.4-5.el7.x86_64 2/18 Verifying : 1:java-1.8.0-openjdk-accessibility-1.8.0.102-4.b14.el7.x86_64 3/18 Verifying : 1:java-1.8.0-openjdk-debug-1.8.0.102-4.b14.el7.x86_64 4/18 Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.102-4.b14.el7.x86_64 5/18 Verifying : 1:java-1.8.0-openjdk-headless-debug-1.8.0.102-4.b14.el7.x86_64 6/18 Verifying : 1:java-1.8.0-openjdk-src-debug-1.8.0.102-4.b14.el7.x86_64 7/18 Verifying : 1:java-1.8.0-openjdk-demo-1.8.0.102-4.b14.el7.x86_64 8/18 Verifying : 1:java-1.8.0-openjdk-devel-debug-1.8.0.102-4.b14.el7.x86_64 9/18 Verifying : 1:java-1.8.0-openjdk-src-1.8.0.102-4.b14.el7.x86_64 10/18 Verifying : 1:java-1.8.0-openjdk-javadoc-zip-debug-1.8.0.102-4.b14.el7.noarch 11/18 Verifying : 1:java-1.8.0-openjdk-demo-debug-1.8.0.102-4.b14.el7.x86_64 12/18 Verifying : 1:java-1.8.0-openjdk-javadoc-1.8.0.102-4.b14.el7.noarch 13/18 Verifying : javapackages-tools-3.4.1-11.el7.noarch 14/18 Verifying : 1:java-1.8.0-openjdk-javadoc-zip-1.8.0.102-4.b14.el7.noarch 15/18 Verifying : 1:java-1.8.0-openjdk-javadoc-debug-1.8.0.102-4.b14.el7.noarch 16/18 Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64 17/18 Verifying : 1:java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 18/18 Installed: java-1.8.0-openjdk.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-debug.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-demo.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-devel.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-src.x86_64 1:1.8.0.102-4.b14.el7 java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.102-4.b14.el7 Dependency Installed: java-atk-wrapper.x86_64 0:0.30.4-5.el7 javapackages-tools.noarch 0:3.4.1-11.el7 Complete! [root@localhost java]#
验证是否安装成功
查看jdk版本
java -version
返回的信息
[root@localhost java]# java -version openjdk version "1.8.0_102" OpenJDK Runtime Environment (build 1.8.0_102-b14) OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode) [root@localhost java]#
安装成功!!!
此时,如果使用javac,java都是可以的。我们还没有设置环境变量,为什么直接可以使用了呢?
这就体现出了在线安装的好处了,它会自动配置环境变量,我们通过echo $PATH命令查看
echo $PATH
[root@localhost java]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost java]#
“:”为Linux系统中环境变量分割符。
如何查看jdk的JAVA_HOME?
[root@localhost java]# whereis javac javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz [root@localhost java]#
[root@localhost java]# whereis javac javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz [root@localhost java]# ls -al /usr/bin/javac lrwxrwxrwx. 1 root root 23 Jul 19 00:59 /usr/bin/javac -> /etc/alternatives/javac [root@localhost java]# ls -al /etc/alternatives/javac lrwxrwxrwx. 1 root root 68 Jul 19 00:59 /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/bin/javac [root@localhost java]# ls -al /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/bin/javac -rwxr-xr-x. 1 root root 7384 Nov 12 2016 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/bin/javac [root@localhost java]#
此时说明
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/bin/javac
是一个真实的地址。
所以
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/
就是JAVA_HOME
将JAVA_HOME加入环境变量
可以添加到rc文件,比如 /etc/rc.d/rc.local
1.使用vim (不再介绍)
或者
2.使用 echo >> 命令
jhometip='# add JAVA_HOME' jhomescript='export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0' sudo echo $jhometip >> /etc/rc.d/rc.local sudo echo $jhomescript >> /etc/rc.d/rc.local
/etc/alternatives/java_sdk_1.8.0 是一个软链接,直接指向JAVA_HOME地址。