Java
Wykrywany na podstawie plików Maven lub Gradle. Jeśli wrapper jest w repozytorium, build go używa.
Przewodniki wdrożeniowe krok po kroku: Java, Spring Boot.
Na stronie Buildpacksopisano, jak działa wykrywanie i polityka wersji.
Wykrywanie
pom.xml (lub pom.* polyglot), build.gradle, build.gradle.kts, settings.gradle, settings.gradle.kts, mvnw lub gradlew.
Wersje
Domyślnie Java 21. Według stanu na wrzesień 2026 dostępne były wersje 11, 17, 21, 25 i 26. Otrzymujesz najnowszą wersję poprawkową wybranej linii. Build korzysta z JDK Eclipse Temurin. Obraz uruchomieniowy (run image) zawiera odpowiednie JRE.
Przypnij wersję w system.properties:
java.runtime.version=21
Możesz podać na przykład 21, 21.0.12 lub temurin-21. Java 8 nie jest obsługiwana.
Instalacja i build
gradlew:./gradlew build -x test --no-daemonmvnw:./mvnw -B -DskipTests clean package- POM Mavena bez wrappera: Maven dostarczany przez Nodion, te same cele (goals)
Build projektu Gradle bez gradlew kończy się błędem. Dodaj wrapper do repozytorium.
Podczas uruchamiania JAVA_HOME wskazuje na JRE, a JAVA_TOOL_OPTIONS ma domyślnie wartość -XX:MaxRAMPercentage=80.0. Zmień tę wartość, jeśli potrzebujesz innych ustawień sterty (heap).
Polecenie startowe
java -Dserver.port=$PORT $JAVA_OPTS -jar <jar>. Uruchamiany jest największy plik JAR w target/ lub build/libs/, z pominięciem plików -plain, -sources i -javadoc. Jeśli żaden plik JAR nie zostanie znaleziony, dodaj Procfile. Twoja aplikacja musi nasłuchiwać na PORT.