Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7d4ff9a81a9c2dea • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare
Name already in use
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Welcome to the JDK!
For build instructions please see the online documentation, or either of these files:
Archived OpenJDK General-Availability Releases
This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception.
WARNING: These older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
Releases
20 GA (build 20+36) Windows 64-bit zip (sha256) 188M Mac/AArch64 64-bit tar.gz (sha256) 184M Mac/x64 64-bit tar.gz (sha256) 186M Linux/AArch64 64-bit tar.gz (sha256) 187M Linux/x64 64-bit tar.gz (sha256) 189M Source Tags are jdk-20+36, jdk-20-ga 19.0.1 (build 19.0.1+10) Windows 64-bit zip (sha256) 186M Mac/AArch64 64-bit tar.gz (sha256) 182M Mac/x64 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 186M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-19.0.1+10, jdk-19.0.1-ga 19 GA (build 19+36) Windows 64-bit zip (sha256) 186M Mac/AArch64 64-bit tar.gz (sha256) 182M Mac/x64 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 186M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-19+36, jdk-19-ga 18.0.2 (build 18.0.2+9) Windows 64-bit zip (sha256) 180M Mac/AArch64 64-bit tar.gz (sha256) 177M Mac/x64 64-bit tar.gz (sha256) 177M Linux/AArch64 64-bit tar.gz (sha256) 179M Linux/x64 64-bit tar.gz (sha256) 180M Source Tags are jdk-18.0.2+9, jdk-18.0.2-ga 18.0.1.1 (build 18.0.1.1+2) Windows 64-bit zip (sha256) 178M Mac/AArch64 64-bit tar.gz (sha256) 174M Mac/x64 64-bit tar.gz (sha256) 176M Linux/AArch64 64-bit tar.gz (sha256) 177M Linux/x64 64-bit tar.gz (sha256) 179M Source Tags are jdk-18.0.1.1+2, jdk-18.0.1.1-ga 18 GA (build 18+36) Windows 64-bit zip (sha256) 178M Mac/AArch64 64-bit tar.gz (sha256) 174M Mac/x64 64-bit tar.gz (sha256) 176M Linux/AArch64 64-bit tar.gz (sha256) 177M Linux/x64 64-bit tar.gz (sha256) 179M Source Tags are jdk-18+36, jdk-18-ga 17.0.2 (build 17.0.2+8) Windows 64-bit zip (sha256) 178M Mac/AArch64 64-bit tar.gz (sha256) 174M Mac/x64 64-bit tar.gz (sha256) 176M Linux/AArch64 64-bit tar.gz (sha256) 178M Linux/x64 64-bit tar.gz (sha256) 179M Source Tags are jdk-17.0.2+8, jdk-17.0.2-ga 17.0.1 (build 17.0.1+12) Windows 64-bit zip (sha256) 178M Mac/AArch64 64-bit tar.gz (sha256) 174M Mac/x64 64-bit tar.gz (sha256) 176M Linux/AArch64 64-bit tar.gz (sha256) 177M Linux/x64 64-bit tar.gz (sha256) 179M Source Tags are jdk-17.0.1+12, jdk-17.0.1-ga 17 GA (build 17+35) Windows 64-bit zip (sha256) 178M Mac/AArch64 64-bit tar.gz (sha256) 174M Mac/x64 64-bit tar.gz (sha256) 176M Linux/AArch64 64-bit tar.gz (sha256) 177M Linux/x64 64-bit tar.gz (sha256) 179M Source Tags are jdk-17+35, jdk-17-ga 16.0.2 (build 16.0.2+7) Windows 64-bit zip (sha256) 176M Mac 64-bit tar.gz (sha256) 174M Linux/AArch64 64-bit tar.gz (sha256) 167M Linux/x64 64-bit tar.gz (sha256) 177M Source Tags are jdk-16.0.2+7, jdk-16.0.2-ga 16.0.1 (build 16.0.1+9) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 163M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-16.0.1+9, jdk-16.0.1-ga 16 GA (build 16+36) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 163M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-16+36, jdk-16-ga 15.0.2 (build 15.0.2+9) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 163M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-15.0.2+7, jdk-15.0.2-ga 15.0.1 (build 15.0.1+9) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 163M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-15.0.1+9, jdk-15.0.1-ga 15 GA (build 15+36) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 184M Linux/AArch64 64-bit tar.gz (sha256) 163M Linux/x64 64-bit tar.gz (sha256) 187M Source Tags are jdk-15+36, jdk-15-ga 14.0.2 (build 14.0.2+12) Windows 64-bit zip (sha256) 190M Mac 64-bit tar.gz (sha256) 185M Linux 64-bit tar.gz (sha256) 190M Source Tags are jdk-14.0.2+12, jdk-14.0.2-ga 14.0.1 (build 14.0.1+7) Windows 64-bit zip (sha256) 190M Mac 64-bit tar.gz (sha256) 185M Linux 64-bit tar.gz (sha256) 190M Source Tags are jdk-14.0.1+7, jdk-14.0.1-ga 14 GA (build 14+36) Windows 64-bit zip (sha256) 190M Mac 64-bit tar.gz (sha256) 185M Linux 64-bit tar.gz (sha256) 190M Source Tags are jdk-14+36, jdk-14-ga 13.0.2 (build 13.0.2+8) Windows 64-bit zip (sha256) 187M Mac 64-bit tar.gz (sha256) 182M Linux 64-bit tar.gz (sha256) 187M Source Tags are jdk-13.0.2+8, jdk-13.0.2-ga 13.0.1 (build 13.0.1+9) Windows 64-bit zip (sha256) 188M Mac 64-bit tar.gz (sha256) 182M Linux 64-bit tar.gz (sha256) 189M Source Tags are jdk-13.0.1+9, jdk-13.0.1-ga 13 GA (build 13+33) Windows 64-bit zip (sha256) 188M Mac 64-bit tar.gz (sha256) 182M Linux 64-bit tar.gz (sha256) 189M Source Tags are jdk-13+33, jdk-13-ga 12.0.2 (build 12.0.2+10) Windows 64-bit zip (sha256) 188M Mac 64-bit tar.gz (sha256) 182M Linux 64-bit tar.gz (sha256) 189M Source Tag is jdk-12.0.2+ga 12.0.1 (build 12.0.1+12) Windows 64-bit zip (sha256) 188M Mac 64-bit tar.gz (sha256) 181M Linux 64-bit tar.gz (sha256) 189M Source Tag is jdk-12.0.1+ga 12 GA (build 12+33) Windows 64-bit zip (sha256) 188M Mac 64-bit tar.gz (sha256) 182M Linux 64-bit tar.gz (sha256) 189M Source Tags are jdk-12+33, jdk-12-ga 11.0.2 (build 11.0.2+9) Windows 64-bit zip (sha256) 179 MB Mac 64-bit tar.gz (sha256) 174 MB Linux 64-bit tar.gz (sha256) 179 MB Source Tags are jdk-11.0.2+9, jdk-11.0.2-ga 11.0.1 (build 11.0.1+13) Windows 64-bit zip (sha256) 179 MB Mac 64-bit tar.gz (sha256) 174 MB Linux 64-bit tar.gz (sha256) 179 MB Source Tag is jdk-11.0.1+13 11 GA (build 11+28) Windows 64-bit zip (sha256) 179 MB Mac 64-bit tar.gz (sha256) 175 MB Linux 64-bit tar.gz (sha256) 179 MB Source Tag is jdk-11+28 10.0.2 (build 10.0.2+13) Windows 64-bit tar.gz (sha256) 190 MB Mac 64-bit tar.gz (sha256) 192 MB Linux 64-bit tar.gz (sha256) 196 MB Source Tag is jdk-10.0.2+13 10.0.1 (build 10.0.1+10) Windows 64-bit tar.gz (sha256) 199 MB Mac 64-bit tar.gz (sha256) 201 MB Linux 64-bit tar.gz (sha256) 205 MB Source Tag is jdk-10.0.1+10 10 GA (build 10+46) Windows 64-bit tar.gz (sha256) 190 MB Mac 64-bit tar.gz (sha256) 192 MB Linux 64-bit tar.gz (sha256) 195 MB Source Tag is jdk-10+46 9.0.4 (build 9.0.4+11) Windows 64-bit tar.gz (sha256) 178 MB macOS 64-bit tar.gz (sha256) 180 MB Linux 64-bit tar.gz (sha256) 196 MB Source Tags are jdk-9.0.4+11, jdk-9.0.4+12 9.0.1 (build 9.0.1+11) Linux 64-bit tar.gz (sha256) 196 MB Source Tag is jdk-9.0.1+11 9 GA (build 9+181) Linux 64-bit tar.gz (sha256) 196 MB Source Tag is jdk-9+181
Notes
To obtain the source code for the JDK 12 update builds, clone the JDK 12 Updates Mercurial repository with the tag corresponding to the release in question. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 12 GA build, clone the JDK 12 Mercurial repository. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 11 update builds, clone the JDK 11 Updates Mercurial repository with the tag corresponding to the release in question. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 11 GA build, clone the JDK 11 Mercurial repository. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 10 update builds, clone the JDK 10 Updates Mercurial repository with the tag corresponding to the release in question. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 10 GA build, clone the JDK 10 Mercurial repository. The README file in your clone will contain further instructions.
To obtain the source code for the JDK 9 update builds, clone the top-level JDK 9 Updates Mercurial repository and then run the get_source.sh script in that repository to clone the remaining repositories. Additional instructions can be found in the building document.
To obtain the source code for the JDK 9 GA, clone the top-level JDK 9 Mercurial repository and then run the get_source.sh script in that repository to clone the remaining repositories.
International use restrictions
Due to limited intellectual property protection and enforcement in certain countries, the JDK source code may only be distributed to an authorized list of countries. You will not be able to access the source code if you are downloading from a country that is not on this list. We are continuously reviewing this list for addition of other countries.
How To Install OpenJDK 18 On Ubuntu 20.04 LTS
It provides all the steps required to install OpenJDK 18 on Ubuntu 20.04 LTS and getting started with Java development using the Hello World example.
This tutorial provides all the steps required to install OpenJDK 18 on the popular Linux distribution i.e. Ubuntu. It provides all the steps for Ubuntu 20.04 LTS (Focal Fossa). The steps should be the same for other versions of Ubuntu, and Linux.
You can also follow the steps to install How To Install VSCode For Java On Ubuntu, How To Install IntelliJ IDEA for Java on Ubuntu, and How To Install Eclipse For Java Development On Ubuntu published by Tutorials24x7. You may also follow the How To Install OpenJDK 18 On Windows to install the latest OpenJDK on Windows and How To Install Java 18 On Windows to install Oracle JDK.
Download JDK
Open the JDK 18 GA Release site and download the distribution for Linux systems as highlighted in Fig 1.
Install JDK
Open the terminal and make the directory /usr/java/openjdk to keep all the java installations at the same place. We can install multiple versions of Java in this directory. Now copy the downloaded file to this location and extract it as shown below:
The above steps will install JDK to the path /usr/java/openjdk/jdk-18.0.1.1.
Set Environment Variables
In this step, we will configure the environment variable to use the JDK installed by us.
Scroll down by pressing Page Down Button and add at the end of this file:
Now press Ctrl + O and press Enter to write our change. Press Ctrl + X to exit the nano editor. The nano editor should be similar to Fig. 2.
Configure Java Commands
We can configure the Java commands to use the newly installed JDK by default. We can check the installed Java before and after executing these commands as shown below:
In case JDK is already installed on the system, it should show existing JDK as shown below.
It shows that Oracle JDK 18 was installed on my system. In case JDK is not installed on your system, the messages should be similar as shown below.
If JDK is not installed on your system, use the below mentioned commands to configure the java commands.
In case JDK is already installed on your system, use the below mentioned commands to install JDK 18 with existing JDKs.
The output of these commands is shown in Fig 3. We might need to configure active Java if it is previously installed on the system.
We can always check the active JDK as shown below.
These are the basic steps required to install the most recent version of OpenJDK on Ubuntu 20.04 LTS.
Hello World
In this section, we will write our first program in Java using the nano editor.
Now write the first program in Java as shown below, save the program and exit the editor.
Use the javac and java to compile and execute the program as shown below.
These are the basic steps to write, compile, and execute Java programs.
Summary
This tutorial provided all the steps to install OpenJDK 18 on Ubuntu 20.04 LTS and also provided the steps to configure it to use from the console. The last section explained the steps to write, compile, and execute the first Java program. You may submit your comments to join the discussion on installing OpenJDK 18 on Ubuntu and other Linux systems.