What is OpenJDK?
OpenJDK is a complex software project that implements the Java Platform specification. Building it requires technical expertise, a fair number of dependencies, and reasonably powerful hardware. The JDK build process produces:- A complete Java runtime environment (JRE)
- Development tools (javac, javadoc, etc.)
- Native libraries and executables
- Platform-specific optimizations
Get started
Quick start
Jump right in with a simple guide to build your first JDK
Build requirements
Understand the hardware, software, and toolchain requirements
Running tests
Learn how to test your JDK build with the comprehensive test suite
Contributing
Join the community and contribute to the Java platform
Supported platforms
The mainline JDK project supports multiple operating systems and architectures:| Operating system | Supported toolchain |
|---|---|
| Linux | gcc, clang |
| macOS | Apple Xcode (using clang) |
| AIX | IBM Open XL C/C++ |
| Windows | Microsoft Visual Studio |
Key repositories
The OpenJDK Git site hosts several important repositories:- JDK Project (main-line):
https://git.openjdk.org/jdk- The actively developed version - JDK Updates Project: Individual repositories for each update release (e.g.,
jdk17u,jdk21u)
For production use or to build older versions, use the JDK Updates repositories (e.g.,
jdk17u) which contain incremental updates, rather than the frozen GA repositories.Build time expectations
Building the JDK is resource-intensive. Here’s what to expect:- Minimum hardware: 2-4 CPU cores, 2-4 GB RAM, 6 GB free disk space (x86)
- Recommended: 8+ cores, 8+ GB RAM, SSD storage (aarch64)
- Build time: Varies from minutes on high-end workstations to hours on minimal hardware