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. Leetcode671.Second Minimum Node In a Binary Tree二叉树中的第二小结点

    给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0.如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值. 给出这样的一个二叉树,你需要输出所有节点中 ...

  2. Codeforces 3D

    题目链接 D. Least Cost Bracket Sequence time limit per test 1 second memory limit per test 64 megabytes ...

  3. .Net Core 授权系统组件解析

    前面关于.Net Core如何进行用户认证的核心流程介绍完毕之后,.Net Core 认证系统之Cookie认证源码解析远程认证暂时不介绍,后期有时间,我会加上.接下去介绍认证组件是如何和认证组件一起 ...

  4. 【GDOI2017 day2】凡喵识图 二进制切分

    题面 100 有一个显然的做法是\(O(n^2)\): 想办法优化这个做法: 我们给一个64位整数,切分成四个16位整数. 那么如果两个64位整数符合汉明距离为3的话,那么两者切分的四个16位整数中: ...

  5. sqlserver 一些基本的语法

    1. STR()函数    这是将数字转换为字符串的快捷函数,这个函数有3个参数:数值,总长度,和小数位   如: select str(123.4,8,4) = 123.4000  如长度不够,则左 ...

  6. vue源码解读-目录结构

    目录结构 ├── scripts ------------------------------- 构建相关的文件,一般情况下我们不需要动│ ├── git-hooks ---------------- ...

  7. Leetcode883.Projection Area of 3D Shapes三维形体投影面积

    在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...

  8. JavaScript--返回顶部方法:锚链接、行内式js写法、外链式、内嵌式

    返回网页顶部方法 一.锚链接 simpleDemo: <!DOCTYPE html> <html lang="en"> <head> <m ...

  9. ELK之java虚拟机安装1

    建议:直接按照默认路径,下面有一个路径我有点小改动 java最新版本1.12 从官网上下载oracle官网上的jdk 1.双击这个jdk.exe 2.点击"是" 3.点击下图的&q ...

  10. 网络流24题 负载平衡(DCOJ8013)

    题目描述 G 公司有 n nn 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 n nn 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入格式 文件 ...