docs community blog github

Java Native Image Buildpack Reference

This reference documentation offers an in-depth description of the behavior and configuration options of the Paketo Java Native Image Buildpack. For explanations of how to use the buildpack for several common use-cases, see the Paketo Java Native Image Buildpack How To documentation.

The [Paketo Java Native Image Buildpack][bp/java-native-image] allows users to create an image containing a GraalVM native image application. The Java Native Image Buildpack supports the same build tools and configuration options as the Java Buildpack. The build must produce an executable jar.

Supported Applications

For all native image builds, it is required that:

  • BP_NATIVE_IMAGE is set at build time.

For Spring Boot applications, it is required that:

  • The application declares a dependency on Spring Native.
  • The version of Spring Native declared by the application may require a specific version of Spring Boot. See the Spring Native release notes for supported Spring Boot versions.


The following component buildpacks compose the Paketo Java Native Image Buildpack.

Buildpack Required/Optional Responsibility
Paketo CA Certificates Buildpack Optional Adds CA certificates to the system truststore at build and runtime.
Paketo GraalVM Buildpack Required Provides the GraalVM JDK and Native Image Substrate VM.
Paketo Gradle Buildpack Optional Builds Gradle-based applications from source.
Paketo Leiningen Buildpack Optional Builds Leiningen-based applications from source.
Paketo Maven Buildpack Optional Builds Maven-based applications from source.
Paketo SBT Buildpack Optional Builds SBT-based applications from source.
Paketo Executable JAR Buildpack Optional Contributes a process Type that launches an executable JAR.
Paketo Spring Boot Buildpack Optional Contributes configuration and metadata to Spring Boot applications.
Paketo Native Image Buildpack Required Creates a native image from a JVM application.
Paketo Procfile Buildpack Optional Allows the application to define or redefine process types with a Procfile
Paketo Environment Variables Buildpack Optional Contributes arbitrary user-provided environment variables to the image.
Paketo Image Labels Buildpack Optional Contributes OCI-specific and arbitrary user-provided labels to the image.

Last modified: September 21, 2021