Heroku's custom OpenJDK builds are no longer available
Change effective on 17 April 2026
We discontinued Heroku’s custom OpenJDK builds for Java (Maven/Gradle), Scala (sbt), and Clojure (Leiningen) apps.
OpenJDK is an open-source project that provides the source code for the Java platform. Various vendors build and distribute their own binaries from this source, known as OpenJDK distributions. Heroku maintained its own distribution for apps running on the platform but replaced it with Azul Zulu as the default. Azul Zulu is built from the same OpenJDK source code and is a drop-in replacement. It’s tested against the Java Technology Compatibility Kit (TCK), making it more reliable and dependable. It’s also available for local development, so you can run the same distribution on your machine as in production.
This change only affects apps that explicitly set heroku- as their OpenJDK distribution prefix in system.properties, for example java.runtime.version=heroku-21. If your system.properties file doesn’t include the heroku- prefix or you don’t have a system.properties file at all, no changes are needed. Most apps already use Azul Zulu and require no changes.
If your app uses the Heroku distribution, remove the heroku- prefix from java.runtime.version in your system.properties file. No other app changes are required.
For more information, see Heroku Java Support Reference.