[17-08-2022] thank to @nobody (see comment to the question)
For all older version use this link:
https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
and select your version:
sudo apt install openjdk-15-jdk
[17-08-2022] thank to @nobody (see comment to the question)
For all older version use this link:
https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
and select your version:
sudo apt install openjdk-15-jdk
It gives no openjdk-15-jdk in the repos from ubuntu :)
sudo apt list | grep openjdk [sudo] Passwort für k3ops: WARNING: apt does not have a stable CLI interface. Use with caution in scripts. openjdk-11-dbg/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-dbg/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-demo/focal-updates 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-demo/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-doc/focal-updates,focal-updates,focal-security,focal-security 11.0.9.1+1-0ubuntu1~20.04 all openjdk-11-jdk-headless/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-jdk-headless/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-jdk/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-jdk/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-jre-dcevm/focal 11.0.3+1-1 amd64 openjdk-11-jre-headless/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-jre-headless/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-jre-zero/focal-updates 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-jre-zero/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-jre/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 amd64 openjdk-11-jre/focal-updates,focal-security 11.0.9.1+1-0ubuntu1~20.04 i386 openjdk-11-source/focal-updates,focal-updates,focal-security,focal-security 11.0.9.1+1-0ubuntu1~20.04 all openjdk-13-dbg/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-dbg/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-demo/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-demo/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-doc/focal-updates,focal-updates 13.0.4+8-1~20.04 all openjdk-13-jdk-headless/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-jdk-headless/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-jdk/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-jdk/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-jre-headless/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-jre-headless/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-jre-zero/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-jre-zero/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-jre/focal-updates 13.0.4+8-1~20.04 amd64 openjdk-13-jre/focal-updates 13.0.4+8-1~20.04 i386 openjdk-13-source/focal-updates,focal-updates 13.0.4+8-1~20.04 all openjdk-14-dbg/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-dbg/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-demo/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-demo/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-doc/focal-updates,focal-updates 14.0.2+12-1~20.04 all openjdk-14-jdk-headless/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-jdk-headless/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-jdk/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-jdk/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-jre-headless/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-jre-headless/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-jre-zero/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-jre-zero/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-jre/focal-updates 14.0.2+12-1~20.04 amd64 openjdk-14-jre/focal-updates 14.0.2+12-1~20.04 i386 openjdk-14-source/focal-updates,focal-updates 14.0.2+12-1~20.04 all openjdk-8-dbg/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-dbg/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-demo/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-demo/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-doc/focal-updates,focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 all openjdk-8-jdk-headless/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-jdk-headless/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-jdk/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-jdk/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-jre-headless/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-jre-headless/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-jre-zero/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-jre-zero/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-jre/focal-updates 8u275-b01-0ubuntu1~20.04 amd64 openjdk-8-jre/focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 i386 openjdk-8-source/focal-updates,focal-updates,focal-security 8u275-b01-0ubuntu1~20.04 all uwsgi-plugin-jvm-openjdk-11/focal 2.0.18-11ubuntu1 amd64 uwsgi-plugin-jwsgi-openjdk-11/focal 2.0.18-11ubuntu1 amd64 uwsgi-plugin-ring-openjdk-11/focal 2.0.18-11ubuntu1 amd64 uwsgi-plugin-servlet-openjdk-11/focal 2.0.18-11ubuntu1 amd64
Ups better you use "apt search openjdk" for the correct command, the first is bad code :P
UPDATE: installation without root privileges below
I advise you to not install packages manually on ubuntu system if there is already a (semi-official) repository able to solve your problem. Further, use Oracle JDK for development, just to avoid (very sporadic) compatibility issues (i've tried many years ago, it's surely better now).
Add the webupd8 repo to your system:
Copysudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Install your preferred version of jdk (versions from java-6 to java-9 available):
Copysudo apt-get install oracle-java8-installer
You can also install multiple version of jdk, mixing openjdk and oracle versions. Then you can use the command update-java-alternatives to switch between installed version:
Copy# list available jdk
update-java-alternatives --list
# use jdk7
sudo update-java-alternatives --set java-7-oracle
# use jdk8
sudo update-java-alternatives --set java-8-oracle
Requirements
If you get add-apt-repository: command not found be sure to have software-properties-common installed:
Copysudo apt-get install software-properties-common
If you're using an older version Ubuntu:
Copysudo apt-get install python-software-properties
JDK installation without root privileges
If you haven't administrator rights on your target machine your simplest bet is to use sdkman to install the zulu certified openjdk:
Copycurl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java
NOTE: sdkman allow to install also the official Oracle JDK, although it's not a the default option. View available versions with:
Copysdk ls java
Install the chosen version with:
Copysdk install java <version>
For example:
Copysdk install java 9.0.1-oracle
Glossary of commands
sudo
<command> [command_arguments]: execute a command with the superuser privilege.add-apt-repository
<PPA_id>: Ubuntu (just like every Debian derivatives and generally speaking every Linux distribution) has a main repository of packages that handle things like package dependencies and updating. In Ubuntu is possible to extend the main repository using a PPA (Personal Package Archive) that usually contains packages not available in the system (just like oracle jdk) or updated versions of available ones (example: LibreOffice 5 in LTS is available only through this PPA).apt-get
[install|update|upgrade|purge|...]: it's "the" command-line package handler used to manipulate the state of every repository on the system (installing / updating / upgrading can be viewed as an alteration of the repository current state).
In our case: with the command sudo add-apt-repository ppa:webupd8team/java we inform the system that the next repository update must retrieve packages information also from webupd8 repo.
With sudo apt-get update we actually update the system repository (all this operations requires superuser privileges, so we prepend sudo to the commands).
sudo apt-get install oracle-java8-installer
update-java-alternatives (a specific java version of update-alternatives): in Ubuntu several packages provides the same functionality (browse the internet, compile mails, edit a text file or provides java/javac executables...). To allows the system to choose the user favourites tool given a specific task a mechanism using symlinks under
/etc/alternatives/is used. Try to update the jdk as indicated above (switch between java 7 and java 8) and view how change the output of this command:ls -l /etc/alternatives/java*
In our case: sudo update-java-alternatives --set java-8-oracle update symlinks under /etc/alternatives to point to java-8-oracle executables.
Extras:
man
<command>: start using man to read a really well written and detailed help on (almost) every shell command and its options (every command i mention in this little answer has a man page, tryman update-java-alternatives).apt-cache
search <search_key>: query the APT cache to search for a package related with the search_key provided (can be the package name or some word in package description).apt-cache
show <package>: provides APT information for a specific package (package version, installed or not, description).
As you can see I only have java 1.7 installed (on a Ubuntu 14.04 machine).
Copyupdate-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
To install Java 8, I did,
Copysudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Afterwards, now I have java 7 and 8,
Copyupdate-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
BONUS ADDED (how to switch between different versions)
- run the follwing command from the terminal:
sudo update-alternatives --config javaCopyThere are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode * 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1069 manual mode Press enter to keep the current choice[*], or type selection number:
As you can see I'm running open jdk 8. To switch to to jdk 7, press 1 and hit the Enter key. Do the same for javac as well with, sudo update-alternatives --config javac.
Check versions to confirm the change: java -version and javac -version.
java - Installing jdk8 on ubuntu- "unable to locate package" update doesn't fix - Stack Overflow
Java on Ubuntu 15.10
Why is Debian unable to locate package openjdk-16-jre-headless? - Unix & Linux Stack Exchange
Cannot install openjdk-8-jre and openjdk-8-jdk
Videos
Command Line option - Ubuntu
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Then in terminal
sudo apt-get install oracle-java8-installer
When there are multiple Java installations on your System, the Java version to use as default can be chosen. To do this, execute the following command.
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
Edit - Manual Java Installation
Download oracle jdk
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Extract zip into desired folder
e.g /usr/local/ after extract /usr/local/jdk1.8.0_65
Setup
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_65/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_65/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/local/jdk1.8.0_65/bin/javaws 1
sudo update-alternatives --set java /usr/local/jdk1.8.0_65/bin/java
sudo update-alternatives --set javac /usr/local/jdk1.8.0_65/bin/javac
sudo update-alternatives --set javaws /usr/local/jdk1.8.0_65/bin/javaws
Edit /etc/environment set JAVA_HOME path for external applications like Eclipse and Idea
For me non of the above worked and I had to do as below, and it worked,
sudo -E add-apt-repository ppa:openjdk-r/ppa
and then,
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Reference: https://askubuntu.com/questions/644188/updating-jdk-7-to-8-unable-to-locate-package
OpenJDK8 is not included in Ubuntu 14.04 repositories.
You can install Openjdk8 to Ubuntu 14.04 from a PPA this way:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jre
I have done the following in the .profile in my home directory.
JAVA_HOME=/opt/jdk1.7.0_79;export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH
once this was added, just log out and login. This will over ride the path to include jdk1.7.0_79 first. You need to use java 8 folder in this case. eg. if you installed java in /downloads/javajre then add the following in the .profile file of your home directory
JAVA_HOME=/downloads/javajre;export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH
Log out and login. This should set your java -version to java 8.
Yes, you can get Java 15 from AdoptOpenJDK PPA.
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
Then you can install Java 15 with:
sudo apt-get install adoptopenjdk-15-hotspot
For more information / options / troubleshooting : https://adoptopenjdk.net/index.html
openjdk-15-jdk is available from the default repositories in Ubuntu 20.10 (and later releases). You can install openjdk-15-jdk from the Ubuntu 20.10 universe repository in Ubuntu 18.04 using apt pinning. You can also install openjdk-15-jdk without apt pinning by installing Ubuntu 20.10 in a virtual machine like a KVM/QEMU (qemu-kvm) virtual machine created in Virtual Machine Manager (virt-manager).
apt can’t locate openjdk-16-jre-headless because the OpenJDK 16 packages aren’t available in any Debian release.
The only release available to you in Debian 10 is OpenJDK 11. Debian 11 has OpenJDK 17. Both of these are releases with long-term support.
openjdk-16-jre-headless isn't packaged on Debian. You have to use openjdk-11-jre-headless, it can be installed after enabling the security repository.
Java and debian.