• Install Openjdk11 to Ubuntu 18.04 LTS


      Ubuntu 18.04 LTS系统上通过sudo apt install openjdk-11-*命令安装的jdk11版本依然是jdk10,怎么样才能安装openjdk 11呢,今天,我们就来完成这一工作。

    download software package

    lwk@qwfys:~$sudo curl -sL https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -o /usr/lib/jvm/openjdk-11.0.1_linux-x64_bin.tar.gz
    

    unzip package

    lwk@qwfys:~$cd /usr/lib/jvm/
    lwk@qwfys:/usr/lib/jvm$
    lwk@qwfys:/usr/lib/jvm$sudo tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz
    lwk@qwfys:/usr/lib/jvm$ ll
    total 32
    drwxr-xr-x   5 root root  4096 Jan  4 02:27 ./
    drwxr-xr-x 153 root root 12288 Dec 27 02:17 ../
    lrwxrwxrwx   1 root root    20 Nov 20 09:07 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64/
    -rw-r--r--   1 root root  2600 Nov 20 09:07 .java-1.8.0-openjdk-amd64.jinfo
    drwxr-xr-x   8 root root  4096 Jan  4 01:42 java-8-openjdk-amd64/
    drwxr-xr-x   8 root root  4096 Jan  4 02:04 jdk-11.0.1/
    drwxr-xr-x   2 root root  4096 Jan  4 01:42 openjdk-8/
    lwk@qwfys:/usr/lib/jvm$
    

    config

    update-alternatives install

    lwk@qwfys:/usr/lib/jvm$ cd jdk-11.0.1/bin/
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$ ll
    total 516
    drwxr-xr-x 2 root root   4096 Jan  4 02:04 ./
    drwxr-xr-x 8 root root   4096 Jan  4 02:04 ../
    -rwxr-xr-x 1  668  668  12952 Oct  6 20:17 jaotc*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jar*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jarsigner*
    -rwxr-xr-x 1  668  668   8672 Oct  6 20:17 java*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 javac*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 javadoc*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 javap*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jcmd*
    -rwxr-xr-x 1  668  668  12888 Oct  6 20:17 jconsole*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdb*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdeprscan*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdeps*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jhsdb*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jimage*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jinfo*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 jjs*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 jlink*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jmap*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jmod*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jps*
    -rwxr-xr-x 1  668  668   8792 Oct  6 20:17 jrunscript*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jshell*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jstack*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jstat*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jstatd*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 keytool*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 pack200*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 rmic*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 rmid*
    -rwxr-xr-x 1  668  668   8744 Oct  6 20:17 rmiregistry*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 serialver*
    -rwxr-xr-x 1  668  668 117656 Oct  6 20:17 unpack200*
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.1/bin/*; do update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 100; done' 
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.1/bin/*; do update-alternatives --set $(basename $bin) $bin; done'
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$
    

    set JAVA_HOME

    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$ cd /etc/profile.d/
    lwk@qwfys:/etc/profile.d$ vim jdk.sh 
    lwk@qwfys:/etc/profile.d$ cat jdk.sh 
    export J2SDKDIR=/usr/lib/jvm/jdk-11.0.1
    export J2REDIR=/usr/lib/jvm/jdk-11.0.1
    #export PATH=$PATH:/usr/lib/jvm/jdk-11.0.1/bin
    export JAVA_HOME=/usr/lib/jvm/jdk-11.0.1
    lwk@qwfys:/etc/profile.d$ 
    

    view

    lwk@qwfys:~$ java -version
    openjdk version "11.0.1" 2018-10-16
    OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
    lwk@qwfys:~$ javac -version
    javac 11.0.1
    lwk@qwfys:~$ 
    

      至此安装完成。

    uninstall

    remove ‘JAVA_HOME’

    lwk@qwfys:~$ sudo rm /etc/profile.d/jdk.sh
    lwk@qwfys:~$ 
    

    update-alternatives uninstall

    lwk@qwfys:~$ cd /usr/lib/jvm/jdk-11.0.1/bin/
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$ ll
    total 516
    drwxr-xr-x 2 root root   4096 Jan  4 02:04 ./
    drwxr-xr-x 8 root root   4096 Jan  4 02:04 ../
    -rwxr-xr-x 1  668  668  12952 Oct  6 20:17 jaotc*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jar*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jarsigner*
    -rwxr-xr-x 1  668  668   8672 Oct  6 20:17 java*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 javac*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 javadoc*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 javap*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jcmd*
    -rwxr-xr-x 1  668  668  12888 Oct  6 20:17 jconsole*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdb*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdeprscan*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jdeps*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jhsdb*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jimage*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jinfo*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 jjs*
    -rwxr-xr-x 1  668  668   8784 Oct  6 20:17 jlink*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jmap*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jmod*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jps*
    -rwxr-xr-x 1  668  668   8792 Oct  6 20:17 jrunscript*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jshell*
    -rwxr-xr-x 1  668  668  12880 Oct  6 20:17 jstack*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jstat*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 jstatd*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 keytool*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 pack200*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 rmic*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 rmid*
    -rwxr-xr-x 1  668  668   8744 Oct  6 20:17 rmiregistry*
    -rwxr-xr-x 1  668  668   8736 Oct  6 20:17 serialver*
    -rwxr-xr-x 1  668  668 117656 Oct  6 20:17 unpack200*
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$ sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.1/bin/*; do update-alternatives --remove $(basename $bin) $bin; done'
    update-alternatives: removing manually selected alternative - switching jaotc to auto mode
    update-alternatives: removing manually selected alternative - switching jar to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jar to provide /usr/bin/jar (jar) in auto mode
    update-alternatives: removing manually selected alternative - switching jarsigner to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
    update-alternatives: removing manually selected alternative - switching java to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in auto mode
    update-alternatives: removing manually selected alternative - switching javac to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in auto mode
    update-alternatives: removing manually selected alternative - switching javadoc to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
    update-alternatives: removing manually selected alternative - switching javap to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/javap to provide /usr/bin/javap (javap) in auto mode
    update-alternatives: removing manually selected alternative - switching jcmd to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
    update-alternatives: removing manually selected alternative - switching jconsole to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
    update-alternatives: removing manually selected alternative - switching jdb to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
    update-alternatives: removing manually selected alternative - switching jdeprscan to auto mode
    update-alternatives: removing manually selected alternative - switching jdeps to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
    update-alternatives: removing manually selected alternative - switching jhsdb to auto mode
    update-alternatives: removing manually selected alternative - switching jimage to auto mode
    update-alternatives: removing manually selected alternative - switching jinfo to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
    update-alternatives: removing manually selected alternative - switching jjs to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/jjs to provide /usr/bin/jjs (jjs) in auto mode
    update-alternatives: removing manually selected alternative - switching jlink to auto mode
    update-alternatives: removing manually selected alternative - switching jmap to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
    update-alternatives: removing manually selected alternative - switching jmod to auto mode
    update-alternatives: removing manually selected alternative - switching jps to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jps to provide /usr/bin/jps (jps) in auto mode
    update-alternatives: removing manually selected alternative - switching jrunscript to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
    update-alternatives: removing manually selected alternative - switching jshell to auto mode
    update-alternatives: removing manually selected alternative - switching jstack to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
    update-alternatives: removing manually selected alternative - switching jstat to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
    update-alternatives: removing manually selected alternative - switching jstatd to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
    update-alternatives: removing manually selected alternative - switching keytool to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
    update-alternatives: removing manually selected alternative - switching pack200 to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/pack200 to provide /usr/bin/pack200 (pack200) in auto mode
    update-alternatives: removing manually selected alternative - switching rmic to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/rmic to provide /usr/bin/rmic (rmic) in auto mode
    update-alternatives: removing manually selected alternative - switching rmid to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmid to provide /usr/bin/rmid (rmid) in auto mode
    update-alternatives: removing manually selected alternative - switching rmiregistry to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
    update-alternatives: removing manually selected alternative - switching serialver to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
    update-alternatives: removing manually selected alternative - switching unpack200 to auto mode
    update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/unpack200 to provide /usr/bin/unpack200 (unpack200) in auto mode
    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$
    

    remove the java installation directory

    lwk@qwfys:/usr/lib/jvm/jdk-11.0.1/bin$ cd ../../
    lwk@qwfys:/usr/lib/jvm$ ll
    total 32
    drwxr-xr-x   5 root root  4096 Jan  4 02:27 ./
    drwxr-xr-x 153 root root 12288 Dec 27 02:17 ../
    lrwxrwxrwx   1 root root    20 Nov 20 09:07 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64/
    -rw-r--r--   1 root root  2600 Nov 20 09:07 .java-1.8.0-openjdk-amd64.jinfo
    drwxr-xr-x   8 root root  4096 Jan  4 01:42 java-8-openjdk-amd64/
    drwxr-xr-x   8 root root  4096 Jan  4 02:04 jdk-11.0.1/
    drwxr-xr-x   2 root root  4096 Jan  4 01:42 openjdk-8/
    lwk@qwfys:/usr/lib/jvm$ sudo rm -rf jdk-11.0.1/
    lwk@qwfys:/usr/lib/jvm$ ll
    total 28
    drwxr-xr-x   4 root root  4096 Jan  4 03:38 ./
    drwxr-xr-x 153 root root 12288 Dec 27 02:17 ../
    lrwxrwxrwx   1 root root    20 Nov 20 09:07 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64/
    -rw-r--r--   1 root root  2600 Nov 20 09:07 .java-1.8.0-openjdk-amd64.jinfo
    drwxr-xr-x   8 root root  4096 Jan  4 01:42 java-8-openjdk-amd64/
    drwxr-xr-x   2 root root  4096 Jan  4 01:42 openjdk-8/
    lwk@qwfys:/usr/lib/jvm$ 
    

    view

    lwk@qwfys:~$ java -version
    openjdk version "1.8.0_191"
    OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12)
    OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
    lwk@qwfys:~$ javac -version
    javac 1.8.0_191
    lwk@qwfys:~$ 
    

      至此卸载完成。

                    </div>
  • 相关阅读:
    iOS 改变同一个label中多行文字间的距离
    iOS改变UITableViewCell的分割线frame和颜色
    iOS动画实现改变frme和contenOffset
    iOS判断数组不为空
    jQueryMobile控件之ListView
    jQueryMobile控件之展开与合并
    jQueryMobile控件之页面切换
    jQueryMobile控件之按钮
    jQueryMobile控件之复选框
    jQueryUI 之控件们
  • 原文地址:https://www.cnblogs.com/jpfss/p/11106346.html
Copyright © 2020-2023  润新知