Java
Detetado a partir de ficheiros Maven ou Gradle. Se fizer commit de um wrapper, o build usa-o.
Guias de deploy passo a passo: Java, Spring Boot.
Consulte Buildpackspara ver como funcionam a deteção e a política de versões.
Deteção
pom.xml (ou um pom.* polyglot), build.gradle, build.gradle.kts, settings.gradle, settings.gradle.kts, mvnw ou gradlew.
Versões
A versão por omissão é o Java 21. Linhas publicadas em setembro de 2026: 11, 17, 21, 25, 26. Recebe o patch mais recente da linha pedida. O build usa um JDK Eclipse Temurin. A imagem de execução (run image) usa o JRE correspondente.
Fixe a versão em system.properties:
java.runtime.version=21
Funcionam formatos como 21, 21.0.12 ou temurin-21. O Java 8 não é suportado.
Instalação e build
gradlew:./gradlew build -x test --no-daemonmvnw:./mvnw -B -DskipTests clean package- Um POM Maven sem wrapper: o Maven da Nodion, com os mesmos goals
Um projeto Gradle sem gradlew falha. Faça commit do wrapper.
No arranque, JAVA_HOME aponta para o JRE e JAVA_TOOL_OPTIONS tem por omissão o valor -XX:MaxRAMPercentage=80.0. Substitua essa variável se precisar de outro comportamento da heap.
Comando de arranque
java -Dserver.port=$PORT $JAVA_OPTS -jar <jar>. O jar é o maior ficheiro em target/ ou build/libs/, ignorando os jars -plain, -sources e -javadoc. Se não for encontrado nenhum jar, adicione um Procfile. A aplicação deve escutar em PORT.