卸载干净当前的版本
查看当前的jdk版本,并卸载。 如果之前没有安装过可以跳过这个步骤
[root@localhost opt]# rpm -qa|grep javajava-1.6.0-openjdk-1.6.0.37-1.13.9.4.el5_11tzdata-java-2015g-1.el5
[root@localhost opt]# rpm -e --allmatches --nodeps java-1.6.0-openjdk-1.6.0.37-1.13.9.4.el5_11[root@localhost opt]# rpm -e --allmatches --nodeps tzdata-java-2015g-1.el5
安装Jdk
1. 查找 java 相关列表
命令 :yum search jdk或 yum search jdk
[root@localhost ~]# yum -y list java*已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* extras: mirrors.ustc.edu.cn* updates: mirrors.aliyun.com可安装的软件包java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 basejava-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 basejava-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 basejava-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el7_3 basejava-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3 basejava-1.7.0-openjdk.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-demo.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-devel.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-headless.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-javadoc.noarch 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.7.0-openjdk-src.x86_64 1:1.7.0.261-2.6.22.2.el7_8 basejava-1.8.0-openjdk.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-accessibility.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-demo.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-demo.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-devel.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-devel.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-headless.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-headless.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-javadoc.noarch 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-src.i686 1:1.8.0.332.b09-1.el7_9 updatesjava-1.8.0-openjdk-src.x86_64 1:1.8.0.332.b09-1.el7_9 updatesjava-11-openjdk.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-demo.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-demo.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-devel.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-devel.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-headless.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-headless.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-javadoc.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-javadoc.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-javadoc-zip.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-javadoc-zip.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-jmods.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-jmods.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-src.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-src.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-static-libs.i686 1:11.0.15.0.9-2.el7_9 updatesjava-11-openjdk-static-libs.x86_64 1:11.0.15.0.9-2.el7_9 updatesjava-atk-wrapper.i686 0.30.4-5.el7 basejava-atk-wrapper.x86_64 0.30.4-5.el7 basejava_cup.noarch 1:0.11a-16.el7 basejava_cup-javadoc.noarch 1:0.11a-16.el7 basejava_cup-manual.noarch 1:0.11a-16.el7 basejavacc.noarch 5.0-10.el7 basejavacc-demo.noarch 5.0-10.el7 basejavacc-javadoc.noarch 5.0-10.el7 basejavacc-manual.noarch 5.0-10.el7 basejavacc-maven-plugin.noarch 2.6-17.el7 basejavacc-maven-plugin-javadoc.noarch 2.6-17.el7 basejavamail.noarch 1.4.6-8.el7 basejavamail-javadoc.noarch 1.4.6-8.el7 basejavapackages-tools.noarch 3.4.1-11.el7 basejavassist.noarch 3.16.1-10.el7 basejavassist-javadoc.noarch 3.16.1-10.el7 base[root@localhost ~]#
[root@localhost ~]# yum search jdk已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* extras: mirrors.ustc.edu.cn* updates: mirrors.aliyun.com==================================================================================== N/S matched: jdk ====================================================================================copy-jdk-configs.noarch : JDKs configuration files copierjava-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.6.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentationjava-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environmentjava-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connectorjava-1.7.0-openjdk-demo.x86_64 : OpenJDK Demosjava-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environmentjava-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video supportjava-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentationjava-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundlejava-1.8.0-openjdk.i686 : OpenJDK Runtime Environment 8java-1.8.0-openjdk.x86_64 : OpenJDK 8 Runtime Environmentjava-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connectorjava-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connectorjava-1.8.0-openjdk-demo.i686 : OpenJDK Demos 8java-1.8.0-openjdk-demo.x86_64 : OpenJDK 8 Demosjava-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment 8java-1.8.0-openjdk-devel.x86_64 : OpenJDK 8 Development Environmentjava-1.8.0-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 8java-1.8.0-openjdk-headless.x86_64 : OpenJDK 8 Headless Runtime Environmentjava-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentationjava-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a single archivejava-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle 8java-1.8.0-openjdk-src.x86_64 : OpenJDK 8 Source Bundlejava-11-openjdk.i686 : OpenJDK Runtime Environment 11java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environmentjava-11-openjdk-demo.i686 : OpenJDK Demos 11java-11-openjdk-demo.x86_64 : OpenJDK 11 Demosjava-11-openjdk-devel.i686 : OpenJDK Development Environment 11java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environmentjava-11-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 11java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environmentjava-11-openjdk-javadoc.i686 : OpenJDK 11 API documentationjava-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentationjava-11-openjdk-javadoc-zip.i686 : OpenJDK 11 API documentation compressed in a single archivejava-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archivejava-11-openjdk-jmods.i686 : JMods for OpenJDK 11java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11java-11-openjdk-src.i686 : OpenJDK Source Bundle 11java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundlejava-11-openjdk-static-libs.i686 : OpenJDK libraries for static linking 11java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linkingldapjdk-javadoc.noarch : Javadoc for ldapjdkicedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementationldapjdk.noarch : The Mozilla LDAP Java SDK名称和简介匹配 only,使用“search all”试试。
2. 安装
安装 jre
[root@localhost ~]# yum install java-11-openjdk.x86_64Total download size: 44 MIs this ok [y/N]: y
安装jdk(后面带devel的才是jdk)
[root@localhost ~]# yum install java-11-openjdk-devel.x86_64Total download size: 44 MIs this ok [y/N]: y
3.安装完成之后,验证
[root@localhost ~]# java -versionopenjdk version "11.0.15" 2022-04-19 LTSOpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode, sharing)
4. 通过 yum 默认安装的路径为 /usr/lib/jvm
[root@localhost ~]# cd /usr/lib/jvm[root@localhost jvm]# ll总用量 0lrwxrwxrwx. 1 root root 26 6月 30 00:51 java -> /etc/alternatives/java_sdklrwxrwxrwx. 1 root root 29 6月 30 00:51 java-11 -> /etc/alternatives/java_sdk_11lrwxrwxrwx. 1 root root 37 6月 30 00:51 java-11-openjdk -> /etc/alternatives/java_sdk_11_openjdkdrwxr-xr-x. 8 root root 97 6月 30 00:51 java-11-openjdk-11.0.15.0.9-2.el7_9.x86_64lrwxrwxrwx. 1 root root 34 6月 30 00:51 java-openjdk -> /etc/alternatives/java_sdk_openjdklrwxrwxrwx. 1 root root 21 6月 30 00:51 jre -> /etc/alternatives/jrelrwxrwxrwx. 1 root root 24 6月 30 00:51 jre-11 -> /etc/alternatives/jre_11lrwxrwxrwx. 1 root root 32 6月 30 00:51 jre-11-openjdk -> /etc/alternatives/jre_11_openjdklrwxrwxrwx. 1 root root 42 6月 30 00:51 jre-11-openjdk-11.0.15.0.9-2.el7_9.x86_64 -> java-11-openjdk-11.0.15.0.9-2.el7_9.x86_64lrwxrwxrwx. 1 root root 29 6月 30 00:51 jre-openjdk -> /etc/alternatives/jre_openjdk
如果机器上同时安装了多个 jdk 的话,java 命令只能指向一个版本的 jdk,为了在全局中方便修改 jdk 版本
/etc/alternatives 的目录下面会有个 java 链接,指向默认需要执行的版本的 jdk 的 bin/java 命令
[root@localhost jvm]# cd /etc/alternatives[root@localhost alternatives]# lltotal 204lrwxrwxrwx. 1 root root 64 6月 30 00:51 java -> /usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el7_9.x86_64/bin/java
而 /etc/alternatives/java 又会被软连接到 /usr/bin/java
[root@localhost alternatives]# cd /usr/bin[root@localhost bin]# ll |grep javalrwxrwxrwx 1 root root 22 Jan 12 20:01 java -> /etc/alternatives/java
5. 将 jdk 的安装路径加入到JAVA_HOME
[root@localhost bin]# vi /etc/profile
在文件最后加入:
#set java environmentJAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el7_9.x86_64PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME CLASSPATH PATH
修改 /etc/profile 之后让其生效
[root@localhost]# . /etc/profile
注意 . 之后应有一个空格
