How to install JDK 10 under Ubuntu? How to install JDK 10 under Ubuntu? java java

How to install JDK 10 under Ubuntu?


Update: JDK 11 Now Available

sudo apt-get install openjdk-11-jdk

For JDK 10

Option 1: Easy Installation (PPA)

sudo add-apt-repository ppa:linuxuprising/javasudo apt-get updatesudo apt-get install oracle-java10-installer

Then set as default with:

sudo apt-get install oracle-java10-set-default

And finally verify Installation with:

$ java -versionjava version "10.0.1" 2018-04-17Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

Source: Linux Uprising

Option 2: Manual Installation

  • Download OpenJDK 10 binaries for Linux.

  • Untar the downloaded archive:

    tar xzvf openjdk-10_linux-x64_bin.tar.gz
  • Move the extracted archive to where your system keeps your installed JDKs:

    sudo mv jdk-10 /usr/lib/jvm/java-10-openjdk-amd64/
  • Add the new Java alternative:

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1
  • Update your system's java alternatives and choose JDK 10:

    $ sudo update-alternatives --config javahere are 3 choices for the alternative java (providing /usr/bin/java).  Selection    Path                                            Priority   Status------------------------------------------------------------  0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      auto mode* 1            /usr/lib/jvm/java-10-openjdk-amd64/bin/java      1         manual mode  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode  3            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      manual modePress <enter> to keep the current choice[*], or type selection number: 

    and

    $ sudo update-alternatives --config javacThere are 3 choices for the alternative javac (providing /usr/bin/javac).  Selection    Path                                          Priority   Status------------------------------------------------------------* 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/javac    1091      auto mode  1            /usr/lib/jvm/java-10-openjdk-amd64/bin/javac   1         manual mode  2            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac    1081      manual mode  3            /usr/lib/jvm/java-9-openjdk-amd64/bin/javac    1091      manual modePress <enter> to keep the current choice[*], or type selection number: 1update-alternatives: using /usr/lib/jvm/java-10-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode
  • Verify your installation with:

    $ java --versionopenjdk 10 2018-03-20OpenJDK Runtime Environment 18.3 (build 10+46)OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)

    and

    $ javac --versionjavac 10
  • Done


If you prefer Oracle's JDK, download it and follow the installation steps as shown above.


I've found SdkMan! a very useful tool because it provides a convenient way for managing your JDKs from the shell.

For example, once it is installed, you can:

Install a specific JDK version: sdk install java 10.0.2-open

Downloading: java 10.0.2-openIn progress...#################                             12,3%

Use a specific JDK version: sdk use java 10.0.2-open

Using java version 10.0.2-open in this shell.

List available JDK: sdk list java

===================================================================Available Java Versions===================================================================                                                             9.0.4-open                                                                       + 8u161-oracle                                                                       8.0.191-oracle                                                                > + 8.0.171-oracle                                                                     7.0.191-zulu                                                                      12.ea.15-open                                                                      11.0.1-open                                                                       10.0.2-open                                                                        1.0.0-rc8-graal                                                              ===================================================================+ - local version* - installed> - currently in use=======================================================================

And much more

See https://sdkman.io/usage


There is a ppa on java 10 that installs oracle's java: https://launchpad.net/~linuxuprising/+archive/ubuntu/java

I am not sure if this will be maintained though. It seems to be a copy of the webupd8 way on how to handle oracle java installation (ref: documentation).

How to use this ppa:

sudo add-apt-repository ppa:linuxuprising/javasudo apt-get updatesudo apt-get install oracle-java10-installer

Verify installation:

$ /usr/lib/jvm/java-10-oracle/bin/java -versionjava version "10.0.1" 2018-04-17Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

Setting up environment variables (make java10 default)

sudo apt-get install oracle-java10-set-default