How to install Microsoft build of OpenJDK 11 to Ubuntu 20.04
Prepre
lwk@qwfys:~$ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
--2021-04-16 16:52:19-- https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
Resolving packages.microsoft.com (packages.microsoft.com)... 40.83.79.38
Connecting to packages.microsoft.com (packages.microsoft.com)|40.83.79.38|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3124 (3.1K) [application/octet-stream]
Saving to: ‘packages-microsoft-prod.deb’
packages-microsoft-prod.deb 100%[=====================================================================================================>] 3.05K --.-KB/s in 0s
2021-04-16 16:52:19 (146 MB/s) - ‘packages-microsoft-prod.deb’ saved [3124/3124]
lwk@qwfys:~$
lwk@qwfys:~$ apt deb packages-microsoft-prod.deb
[sudo] password for lwk:
Selecting previously unselected package packages-microsoft-prod.
(Reading database ... 319315 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.0-ubuntu20.04.1) ...
Setting up packages-microsoft-prod (1.0-ubuntu20.04.1) ...
lwk@qwfys:~$ ll /etc/apt/sources.list.d/
total 20
drwxr-xr-x 2 root root 4096 Apr 16 16:56 ./
drwxr-xr-x 7 root root 4096 Apr 16 15:36 ../
-rw-r--r-- 1 root root 189 Apr 16 15:37 google-chrome.list
-rw-r--r-- 1 root root 77 Apr 24 2020 microsoft-prod.list
-rw-r--r-- 1 root root 482 Apr 16 15:07 official-package-repositories.list
lwk@qwfys:~$ cat /etc/apt/sources.list.d/microsoft-prod.list
deb [arch=amd64] https://packages.microsoft.com/ubuntu/20.04/prod focal main
lwk@qwfys:~$
Update apt local meta data
apt update
Install
lwk@qwfys:~$ apt install msopenjdk-11
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
fonts-dejavu fonts-dejavu-extra
The following NEW packages will be installed:
fonts-dejavu fonts-dejavu-extra msopenjdk-11
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 195 MB of archives.
After this operation, 331 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.aliyun.com/ubuntu focal/main amd64 fonts-dejavu-extra all 2.37-1 [1,953 kB]
Get:2 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 msopenjdk-11 amd64 11.0.10+9-1 [193 MB]
Get:3 http://mirrors.aliyun.com/ubuntu focal/universe amd64 fonts-dejavu all 2.37-1 [3,130 B]
Fetched 195 MB in 57s (3,437 kB/s)
Selecting previously unselected package fonts-dejavu-extra.
(Reading database ... 319323 files and directories currently installed.)
Preparing to unpack .../fonts-dejavu-extra_2.37-1_all.deb ...
Unpacking fonts-dejavu-extra (2.37-1) ...
Selecting previously unselected package fonts-dejavu.
Preparing to unpack .../fonts-dejavu_2.37-1_all.deb ...
Unpacking fonts-dejavu (2.37-1) ...
Selecting previously unselected package msopenjdk-11.
Preparing to unpack .../msopenjdk-11_11.0.10+9-1_amd64.deb ...
Unpacking msopenjdk-11 (11.0.10+9-1) ...
Setting up fonts-dejavu-extra (2.37-1) ...
Setting up fonts-dejavu (2.37-1) ...
Setting up msopenjdk-11 (11.0.10+9-1) ...
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jaotc to provide /usr/bin/jaotc (jaotc) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jar to provide /usr/bin/jar (jar) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/javap to provide /usr/bin/javap (javap) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jlink to provide /usr/bin/jlink (jlink) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jmod to provide /usr/bin/jmod (jmod) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jps to provide /usr/bin/jps (jps) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jshell to provide /usr/bin/jshell (jshell) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/rmic to provide /usr/bin/rmic (rmic) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/lib/jspawnhelper to provide /usr/bin/jspawnhelper (jspawnhelper) in auto mode
Processing triggers for fontconfig (2.13.1-2ubuntu3) ...
lwk@qwfys:~$
Check
lwk@qwfys:~$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
lwk@qwfys:~$
lwk@qwfys:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/msopenjdk-11-amd64/bin/java 1111 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/msopenjdk-11-amd64/bin/java to provide /usr/bin/java (java) in manual mode
lwk@qwfys:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/msopenjdk-11-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/msopenjdk-11-amd64/bin/java 1111 manual mode
Press <enter> to keep the current choice[*], or type selection number:
lwk@qwfys:~$
lwk@qwfys:~$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment Microsoft-18724 (build 11.0.10+9)
OpenJDK 64-Bit Server VM Microsoft-18724 (build 11.0.10+9, mixed mode)
lwk@qwfys:~$
so finished.