A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers
205
stars
892
commits
Go
primary language
Sep 10, 2026
updated
paketo-buildpacks/spring-bootdocker.io/paketobuildpacks/spring-bootThe Paketo Buildpack for Spring Boot is a Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers.
This buildpack will always detect.
This buildpack will participate at build time if all the following conditions are met:
<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Version entryThe buildpack will do the following:
org.springframework.boot.version image label<APPLICATION_ROOT>/META-INF/dataflow-configuration-metadata.properties exists
org.springframework.boot.spring-configuration-metadata.json image labelorg.springframework.cloud.dataflow.spring-configuration-metadata.json image labelImplementation-Title manifest entry to org.opencontainers.image.title image labelImplementation-version manifest entry to org.opencontainers.image.version image labelBP_SPRING_CLOUD_BINDINGS_VERSION by the user<APPLICATION_ROOT>/META-INF/MANIFEST.MF: Boot 2.x will install Spring Cloud Bindings v1, Boot 3.x will install Spring Cloud Bindings v2<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Layers-Index entry
$BPL_JVM_THREAD_COUNT to 50META-INF/native-image folder) AND BP_SPRING_AOT_ENABLED is set to true
BPL_SPRING_AOT_ENABLED to true-Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS at runtimeMETA-INF/native-image folder) AND BP_SPRING_AOT_ENABLED is set to true AND TRAINING_RUN_JAVA_TOOL_OPTIONS (or deprecated CDS_TRAINING_JAVA_TOOL_OPTIONS`) is set
JAVA_TOOL_OPTIONS at runtime<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Native-Processed entry OR if $BP_MAVEN_ACTIVE_PROFILES contains the native profile:
native-image-application, which can be required by the native-image buildpack to automatically trigger a native image buildclasspath.idx to the build-time class path, so they are available to native-image| Environment Variable | Description |
|---|---|
$BP_SPRING_CLOUD_BINDINGS_DISABLED | Whether to contribute Spring Cloud Bindings support to the image at build time. Defaults to false. |
$BPL_SPRING_CLOUD_BINDINGS_DISABLED | Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to false. |
$BPL_SPRING_CLOUD_BINDINGS_ENABLED | Deprecated in favour of $BPL_SPRING_CLOUD_BINDINGS_DISABLED. Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to true. |
$BP_SPRING_CLOUD_BINDINGS_VERSION | Explicit version of Spring Cloud Bindings library to install. |
$BP_SPRING_AOT_ENABLED | Whether to contribute $BPL_SPRING_AOT_ENABLED at runtime. Beware that the Spring Boot app needs to have been AOT instrumented (presence of META-INF/native-image) too. Defaults to false. |
$BPL_SPRING_AOT_ENABLED | Whether to contribute -Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS at runtime. Defaults to yes if the above conditions were met; false otherwise |
$BP_UNPACK_LAYOUT_ONLY | Whether to only unpack the Spring Boot app, and not apply a CDS / AOT Cache training run |
$BP_JVM_CDS_ENABLED | Deprecated, use BP_JVM_AOTCACHE_ENABLED - Whether to perform the CDS training run (that will generate the caching file application.jsa). Defaults to false. |
$BPL_JVM_CDS_ENABLED | Deprecated, use BPL_JVM_AOTCACHE_ENABLED - Whether to load the CDS caching file (-XX:SharedArchiveFile=application.jsa) that was generated during the CDS training run. Defaults to the value of BP_JVM_CDS_ENABLED |
$BP_JVM_AOTCACHE_ENABLED | Whether to perform the AOT Cache training run (that will generate the caching file application.jsa). Defaults to false. |
$BPL_JVM_AOTCACHE_ENABLED | Whether to load the CDS caching file (-XX:SharedArchiveFile=application.jsa) that was generated during the CDS training run. Defaults to the value of BP_JVM_CDS_ENABLED |
$CDS_TRAINING_JAVA_TOOL_OPTIONS | Deprecated, use TRAINING_RUN_JAVA_TOOL_OPTIONS - Allow the user to override the default JAVA_TOOL_OPTIONS, only for the CDS training run. Useful to configure your app not to reach external services during training run for example. |
$TRAINING_RUN_JAVA_TOOL_OPTIONS | Allow the user to override the default JAVA_TOOL_OPTIONS, only for training run. Useful to configure your app not to reach external services during training run for example. |
The buildpack optionally accepts the following bindings:
dependency-mapping| Key | Value | Description |
|---|---|---|
<dependency-digest> | <uri> | If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri> |
This buildpack is released under version 2.0 of the Apache License.
Go
99.5%
A Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers
205
stars
892
commits
Go
primary language
Sep 10, 2026
updated
paketo-buildpacks/spring-bootdocker.io/paketobuildpacks/spring-bootThe Paketo Buildpack for Spring Boot is a Cloud Native Buildpack that contributes Spring Boot dependency information and slices an application into multiple layers.
This buildpack will always detect.
This buildpack will participate at build time if all the following conditions are met:
<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Version entryThe buildpack will do the following:
org.springframework.boot.version image label<APPLICATION_ROOT>/META-INF/dataflow-configuration-metadata.properties exists
org.springframework.boot.spring-configuration-metadata.json image labelorg.springframework.cloud.dataflow.spring-configuration-metadata.json image labelImplementation-Title manifest entry to org.opencontainers.image.title image labelImplementation-version manifest entry to org.opencontainers.image.version image labelBP_SPRING_CLOUD_BINDINGS_VERSION by the user<APPLICATION_ROOT>/META-INF/MANIFEST.MF: Boot 2.x will install Spring Cloud Bindings v1, Boot 3.x will install Spring Cloud Bindings v2<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Layers-Index entry
$BPL_JVM_THREAD_COUNT to 50META-INF/native-image folder) AND BP_SPRING_AOT_ENABLED is set to true
BPL_SPRING_AOT_ENABLED to true-Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS at runtimeMETA-INF/native-image folder) AND BP_SPRING_AOT_ENABLED is set to true AND TRAINING_RUN_JAVA_TOOL_OPTIONS (or deprecated CDS_TRAINING_JAVA_TOOL_OPTIONS`) is set
JAVA_TOOL_OPTIONS at runtime<APPLICATION_ROOT>/META-INF/MANIFEST.MF contains a Spring-Boot-Native-Processed entry OR if $BP_MAVEN_ACTIVE_PROFILES contains the native profile:
native-image-application, which can be required by the native-image buildpack to automatically trigger a native image buildclasspath.idx to the build-time class path, so they are available to native-image| Environment Variable | Description |
|---|---|
$BP_SPRING_CLOUD_BINDINGS_DISABLED | Whether to contribute Spring Cloud Bindings support to the image at build time. Defaults to false. |
$BPL_SPRING_CLOUD_BINDINGS_DISABLED | Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to false. |
$BPL_SPRING_CLOUD_BINDINGS_ENABLED | Deprecated in favour of $BPL_SPRING_CLOUD_BINDINGS_DISABLED. Whether to auto-configure Spring Boot environment properties from bindings at runtime. This requires Spring Cloud Bindings to have been installed at build time or it will do nothing. Defaults to true. |
$BP_SPRING_CLOUD_BINDINGS_VERSION | Explicit version of Spring Cloud Bindings library to install. |
$BP_SPRING_AOT_ENABLED | Whether to contribute $BPL_SPRING_AOT_ENABLED at runtime. Beware that the Spring Boot app needs to have been AOT instrumented (presence of META-INF/native-image) too. Defaults to false. |
$BPL_SPRING_AOT_ENABLED | Whether to contribute -Dspring.aot.enabled=true to JAVA_TOOL_OPTIONS at runtime. Defaults to yes if the above conditions were met; false otherwise |
$BP_UNPACK_LAYOUT_ONLY | Whether to only unpack the Spring Boot app, and not apply a CDS / AOT Cache training run |
$BP_JVM_CDS_ENABLED | Deprecated, use BP_JVM_AOTCACHE_ENABLED - Whether to perform the CDS training run (that will generate the caching file application.jsa). Defaults to false. |
$BPL_JVM_CDS_ENABLED | Deprecated, use BPL_JVM_AOTCACHE_ENABLED - Whether to load the CDS caching file (-XX:SharedArchiveFile=application.jsa) that was generated during the CDS training run. Defaults to the value of BP_JVM_CDS_ENABLED |
$BP_JVM_AOTCACHE_ENABLED | Whether to perform the AOT Cache training run (that will generate the caching file application.jsa). Defaults to false. |
$BPL_JVM_AOTCACHE_ENABLED | Whether to load the CDS caching file (-XX:SharedArchiveFile=application.jsa) that was generated during the CDS training run. Defaults to the value of BP_JVM_CDS_ENABLED |
$CDS_TRAINING_JAVA_TOOL_OPTIONS | Deprecated, use TRAINING_RUN_JAVA_TOOL_OPTIONS - Allow the user to override the default JAVA_TOOL_OPTIONS, only for the CDS training run. Useful to configure your app not to reach external services during training run for example. |
$TRAINING_RUN_JAVA_TOOL_OPTIONS | Allow the user to override the default JAVA_TOOL_OPTIONS, only for training run. Useful to configure your app not to reach external services during training run for example. |
The buildpack optionally accepts the following bindings:
dependency-mapping| Key | Value | Description |
|---|---|---|
<dependency-digest> | <uri> | If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri> |
This buildpack is released under version 2.0 of the Apache License.
Go
99.5%