一:卸載系統自帶安裝的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地址。