How to install the latest java version in Raspbian (Stretch)


The default version of java provided in the latest raspbian images are outdated, so we are going to install from the ppa:webupd8team/java repository instead. Please note that add-apt-repository ppa:webupd8team/java will not work, so we will need to add the repository manually.


  1. First we need to register the GPG key (required for authentication). So lets create a temporary file and paste the public key there.
    nano key.txt
    Version: SKS 1.1.5
    Comment: Hostname:

    You can get this key directly from the launchpad page (refer to the Signing Key link under “Technical details about this PPA”).

  2. Now use apt-key to register the key
    sudo apt-key add key.txt
  3. Add the repository to /etc/apt/sources.list.d/ and perform an update
    echo "deb xenial main" | sudo tee /etc/apt/sources.list.d/webupd8team-java.list
    echo "deb-src xenial main" | sudo tee -a /etc/apt/sources.list.d/webupd8team-java.list
    sudo apt-get update
  4. Install Java 8 SDK
    sudo apt-get install oracle-java8-installer
  5. Verify that we have successfully installed java
    pi@raspberrypi:~# java -version
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) Client VM (build 25.161-b12, mixed mode)

Switching between versions

If you have multiple jvms installed and you want to switch back to a specific version of java you can do the following:

Option 1: Using update-java-alternatives (Recommended)

  1. List the available versions in your system
    update-java-alternatives -l
  2. Copy the key of the first column of the result of your target version
    java-8-oracle                  1081       /usr/lib/jvm/java-8-oracle
  3. Execute the set command using the previously copied key
    update-java-alternatives -s java-8-oracle

Option 2: Using oracle-java8-set-default package

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

6 thoughts on “How to install the latest java version in Raspbian (Stretch)

Add yours

  1. sudo apt-get update produced a response that ended with:
    N: Ignoring file ‘webupd8team-java-list’ in directory ‘/etc/apt/sources.list.d/’ as it has no filename extension

    I wasn’t able to get any farther. What did I do wrong?


  2. I made it to number 4 and the package is missing or.
    sudo apt-get install oracle-java8-installer
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package oracle-java8-installer is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘oracle-java8-installer’ has no installation candidate
    pi@raspberrypi:~ $ java -version
    Error occurred during initialization of VM
    Server VM is only supported on ARMv7+ VFP


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Website Powered by

Up ↑

%d bloggers like this: