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>

Install Openjdk11 to Ubuntu 18.04 LTS的更多相关文章

  1. How to Install Oracle Java 11 on Ubuntu 18.04 LTS (Bionic) Written by Rahul, Updated on April 3, 20

    本文系转载备份 请阅读点击下面链接阅读原文以获取更佳地阅读体验.谢谢. How to Install Oracle Java 11 on Ubuntu 18.04 LTS (Bionic) Writt ...

  2. Ubuntu 18.04 LTS 常用软件安装杂记

    之前个人笔记本装的是 Linux Mint,用了一段时间但是体验不佳,所以打算换成 Ubuntu .作为一个 Linux 小白,当时配置一些软件环境费了不少时间.这次打算简单记录下,和大家分享一下我的 ...

  3. [转]Win7 + Ubuntu 18.04 LTS (Bionic Beaver)双系统安装方法

    这里介绍在win7的基础上,安装ubuntu 18.04 LTS,实现双系统启动. 首先,假设你已安装了windows 7系统. 一. 制作ubuntu U盘启动盘. 方法见http://blog.p ...

  4. 将 Ubuntu 16.04 LTS 升级到 Ubuntu 18.04 LTS

    将 Ubuntu 16.04 LTS 升级到 Ubuntu 18.04 LTS   Ubuntu 18.04 LTS(Bionic Beaver)即将发布, 如果您正在使用Ubuntu 16.04LT ...

  5. 在 Ubuntu 18.04 LTS 无头服务器上安装 Oracle VirtualBox

    作者: Sk 译者: LCTT qhwdw | 2018-10-12 01:59 本教程将指导你在 Ubuntu 18.04 LTS 无头服务器上,一步一步地安装 Oracle VirtualBox. ...

  6. Ubuntu 18.04 LTS 设置代理(系统代理;http 代理;sock5 代理;apt 代理 ...)

    1. 设置系统代理 1.1 设置 http 代理 1.1.1 只在当前 shell 生效 export http_proxy="http://<user>:<passwor ...

  7. WSL Ubuntu 18.04 LTS + VS Code

    WSL Ubuntu 18.04 LTS + VS Code ​ WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...

  8. 如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库. MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或 ...

  9. 转:ubuntu 18.04 LTS 安装 java10(JDK) 及问题说明

    原文地址:ubuntu 18.04 LTS 安装 java10 及问题说明 1.下载相应的安装包,例如jdk-10.0.1_linux-x64_bin.tar.gz.下载地址: http://www. ...

随机推荐

  1. NOIP模拟 6.28

    NOIP模拟赛6.28 Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这 ...

  2. 隐马尔可夫模型及Viterbi算法

    隐马尔可夫模型(HMM,hidden Markov model)是可用于标注问题的统计学模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型.HMM模型主要用于语音识别,自然语言处理,生物 ...

  3. Qt5.9.1_MSVC2017版本调试环境安装

    参照如下链接https://blog.csdn.net/nupt_zhangtao/article/details/77444132

  4. 【GDOI2017 day1】取石子游戏 线段树+区间合并

    题面 如果给你一棵有根树,树根为 1,并且树的每个结点上有一个权值,现在我想知道每个点,除它所在子树以外的结点权值集合的 mex,怎么做呢? 在这里,mex 是定义在集合上的函数,mex(S) 表示 ...

  5. 安装docker报错问题

    安装docker容易出现错误的几种情况: 1.网络问题,无法下载完成的docker容器 2.linux内核版本必须是3.10及以上 3.可以选择使用aliyun的yum源,更好用 4.

  6. python之高阶函数--map()和reduce()

    以下为学习笔记:来自廖雪峰的官方网站 1.高阶函数:简单来说是一个函数里面嵌入另一个函数 2.python内建的了map()和reduce()函数 map()函数接收两参数,一个是函数,一个是Iter ...

  7. 云服务器 ECS Linux Web 环境配置站点的方法

    摘自:https://help.aliyun.com/knowledge_detail/41100.html ECS Linux 系统一键安装 Web 环境<专业版>下 Tomcat 添加 ...

  8. 【POJ 3261】Milk Patterns

    [链接]h在这里写链接 [题意] 给你一个长度为n的序列. 问你能不能在其中找到一个最长的子串.     这个子串至少出现了k次. [题解] 长度越长,就越不可能出现k次 后缀数组+二分. N最大为2 ...

  9. MySQL用户管理+MySQL权限管理

    我们现在默认使用的都是root用户,超级管理员,拥有全部的权限! 但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库! 所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限 ...

  10. ie6中兼容性问题总结

    针对firefox ie6 ie7 ie8的css样式中的line-height属性,以前我们大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7以上对! ...