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. PYTHON网络爬虫与信息提取[BeautifulSoup](单元四)

    1 简介 from bs4 import BeautifulSoup soup=BeautifulSoup(<p>data</p>,'html.parser') 2 基本元素 ...

  2. 引用CDN内容的方法总结

    1.1.1 摘要 CDN相信大家都听说过,甚至使用过相关的技术,也许有些人会回答“没有听说过和使用过该技术”,真的是这样吗? CDN的全称是Content Delivery Network,即内容分发 ...

  3. SAE J2534介绍

    概要 J2534是一种针对与射频相关的ECU进行闪存编程的概念,而不用考虑ECU使用的通信协议.其目的是所有类型的ECU都应当只需一个工具(硬件设备),通常被称为通过式设备.J2534设备和ECU之间 ...

  4. CTSC2017密钥、吉夫特

    自己是有多么sb. 密钥 大家都说这是一道普及-的题,一年前我做不起,我可以说我太弱啦,我就普及组水平,今年我还是做不起…… 看大佬题解都是:开个桶就好啦! 我:你在说什么…… 首先把环拉成链,倍长. ...

  5. 批处理启动应用程序(win)

    @echo off net session >nul 2>&1 " ( echo Oops: This tools must run with administrator ...

  6. 【51nod1563】坐标轴上的最大团 贪心

    题面 坐标轴上有n个点,每个点有一个权值.第i个点的坐标是 xi ,权值是 wi .现在对这些点建图.对于点对 (i,j) ,如果 \(|xi−xj|≥wi+wj\) ,那么就给第i个点和第j个点之间 ...

  7. Web学习之跨域问题及解决方案

    在做前端开发时,我们时常使用ajax与服务器通信获取资源,享受ajax便利的同时,也知道它有限制:跨域安全限制,即同源策略. 同源策略(SOP),核心是确保不同源提供的文件之间是相互独立的 默认情况下 ...

  8. Minitab软件是现代质量管理统计的领先者,全球六西格玛实施的共同语言,以无可比拟的强大功能和简易的可视化操作深受广大质量学者和统计专家的青睐。

    Minitab软件是现代质量管理统计的领先者,全球六西格玛实施的共同语言,以无可比拟的强大功能和简易的可视化操作深受广大质量学者和统计专家的青睐. MINITAB 功能菜单包括:基础和高级统计工具: ...

  9. js中小知识点

    JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前 ...

  10. 【To Read】Shortest Palindrome(KMP)

    题意:Given a string S, you are allowed to convert it to a palindrome by adding characters in front of ...