Browse Source

Rename CDS section in documentation to AOT cache

Closes gh-45201
pull/47740/head
Moritz Halbritter 3 months ago
parent
commit
a8331ad879
  1. 2
      documentation/spring-boot-docs/src/docs/antora/modules/ROOT/pages/documentation.adoc
  2. 19
      documentation/spring-boot-docs/src/docs/antora/modules/ROOT/pages/redirect.adoc
  3. 25
      documentation/spring-boot-docs/src/docs/antora/modules/how-to/pages/aot-cache.adoc
  4. 2
      documentation/spring-boot-docs/src/docs/antora/modules/how-to/partials/nav-how-to.adoc
  5. 64
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/aot-cache.adoc
  6. 2
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/aot.adoc
  7. 53
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/class-data-sharing.adoc
  8. 48
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/container-images/dockerfiles.adoc
  9. 2
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/efficient.adoc
  10. 2
      documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/index.adoc
  11. 4
      documentation/spring-boot-docs/src/docs/antora/modules/reference/partials/dockerfile
  12. 2
      documentation/spring-boot-docs/src/docs/antora/modules/reference/partials/nav-reference.adoc

2
documentation/spring-boot-docs/src/docs/antora/modules/ROOT/pages/documentation.adoc

@ -140,7 +140,7 @@ Spring Boot applications can be optimized for production using technologies desc @@ -140,7 +140,7 @@ Spring Boot applications can be optimized for production using technologies desc
* *Efficient Deployments:* xref:reference:packaging/efficient.adoc#packaging.efficient.unpacking[Unpacking the Executable JAR]
* *GraalVM Native Images:* xref:reference:packaging/native-image/introducing-graalvm-native-images.adoc[Introduction] | xref:reference:packaging/native-image/advanced-topics.adoc[Advanced Topics] | xref:how-to:native-image/developing-your-first-application.adoc[Getting Started] | xref:how-to:native-image/testing-native-applications.adoc[Testing]
* *Class Data Sharing:* xref:reference:packaging/class-data-sharing.adoc[Overview]
* *AOT cache:* xref:reference:packaging/aot-cache.adoc[Overview]
* *Checkpoint and Restore* xref:reference:packaging/checkpoint-restore.adoc[Overview]

19
documentation/spring-boot-docs/src/docs/antora/modules/ROOT/pages/redirect.adoc

@ -234,14 +234,14 @@ @@ -234,14 +234,14 @@
* xref:appendix:application-properties/index.adoc#appendix.application-properties[#common-application-properties]
* xref:appendix:application-properties/index.adoc[#application-properties]
* xref:appendix:application-properties/index.adoc[application-properties]
* xref:appendix:auto-configuration-classes/spring-boot-actuator-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-actuator-autoconfigure[#appendix.auto-configuration-classes.actuator]
* xref:appendix:auto-configuration-classes/spring-boot-actuator-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-actuator-autoconfigure[#auto-configuration-classes.actuator]
* xref:appendix:auto-configuration-classes/spring-boot-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-autoconfigure[#appendix.auto-configuration-classes.core]
* xref:appendix:auto-configuration-classes/spring-boot-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-autoconfigure[#auto-configuration-classes.core]
* xref:appendix:auto-configuration-classes/index.adoc#appendix.auto-configuration-classes[#appendix.auto-configuration-classes]
* xref:appendix:auto-configuration-classes/index.adoc#appendix.auto-configuration-classes[#auto-configuration-classes]
* xref:appendix:auto-configuration-classes/index.adoc[#auto-configuration-classes]
* xref:appendix:auto-configuration-classes/index.adoc[auto-configuration-classes]
* xref:appendix:auto-configuration-classes/spring-boot-actuator-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-actuator-autoconfigure[#appendix.auto-configuration-classes.actuator]
* xref:appendix:auto-configuration-classes/spring-boot-actuator-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-actuator-autoconfigure[#auto-configuration-classes.actuator]
* xref:appendix:auto-configuration-classes/spring-boot-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-autoconfigure[#appendix.auto-configuration-classes.core]
* xref:appendix:auto-configuration-classes/spring-boot-autoconfigure.adoc#appendix.auto-configuration-classes.spring-boot-autoconfigure[#auto-configuration-classes.core]
* xref:appendix:dependency-versions/coordinates.adoc#appendix.dependency-versions.coordinates[#appendix.dependency-versions.coordinates]
* xref:appendix:dependency-versions/coordinates.adoc#appendix.dependency-versions.coordinates[#dependency-versions.coordinates]
* xref:appendix:dependency-versions/index.adoc#appendix.dependency-versions[#appendix.dependency-versions]
@ -369,6 +369,10 @@ @@ -369,6 +369,10 @@
* xref:how-to:actuator.adoc#howto.actuator.map-health-indicators-to-metrics[#howto.actuator.map-health-indicators-to-metrics]
* xref:how-to:actuator.adoc#howto.actuator[#howto-actuator]
* xref:how-to:actuator.adoc#howto.actuator[#howto.actuator]
* xref:how-to:aot-cache.adoc#howto.aot-cache.buildpacks[#howto.class-data-sharing.buildpacks]
* xref:how-to:aot-cache.adoc#howto.aot-cache.dockerfiles[#howto.class-data-sharing.dockerfiles]
* xref:how-to:aot-cache.adoc#howto.aot-cache.training-run-configuration[#howto.class-data-sharing.training-run-configuration]
* xref:how-to:aot-cache.adoc#howto.aot-cache[#howto.class-data-sharing]
* xref:how-to:aot.adoc#howto.aot.conditions[#howto.aot.conditions]
* xref:how-to:aot.adoc#howto.aot[#howto.aot]
* xref:how-to:application.adoc#howto.application.context-hierarchy[#howto-build-an-application-context-hierarchy]
@ -1610,8 +1614,6 @@ @@ -1610,8 +1614,6 @@
* xref:reference:features/ssl.adoc#features.ssl[#features.ssl]
* xref:reference:features/task-execution-and-scheduling.adoc#features.task-execution-and-scheduling[#boot-features-task-execution-scheduling]
* xref:reference:features/task-execution-and-scheduling.adoc#features.task-execution-and-scheduling[#features.task-execution-and-scheduling]
* xref:reference:io/spring-batch.adoc#io.spring-batch.running-jobs-on-startup[#howto-spring-batch-running-jobs-on-startup]
* xref:reference:io/spring-batch.adoc#io.spring-batch.running-jobs-on-startup[#howto.batch.running-jobs-on-startup]
* xref:reference:io/caching.adoc#io.caching.provider.cache2k[#io.caching.provider.cache2k]
* xref:reference:io/caching.adoc#io.caching.provider.caffeine[#boot-features-caching-provider-caffeine]
* xref:reference:io/caching.adoc#io.caching.provider.caffeine[#features.caching.provider.caffeine]
@ -1693,6 +1695,8 @@ @@ -1693,6 +1695,8 @@
* xref:reference:io/rest-client.adoc#io.rest-client.webclient[#features.webclient]
* xref:reference:io/rest-client.adoc#io.rest-client.webclient[#io.rest-client.webclient]
* xref:reference:io/rest-client.adoc#io.rest-client[#io.rest-client]
* xref:reference:io/spring-batch.adoc#io.spring-batch.running-jobs-on-startup[#howto-spring-batch-running-jobs-on-startup]
* xref:reference:io/spring-batch.adoc#io.spring-batch.running-jobs-on-startup[#howto.batch.running-jobs-on-startup]
* xref:reference:io/validation.adoc#io.validation[#boot-features-validation]
* xref:reference:io/validation.adoc#io.validation[#features.validation]
* xref:reference:io/validation.adoc#io.validation[#io.validation]
@ -1788,6 +1792,9 @@ @@ -1788,6 +1792,9 @@
* xref:reference:messaging/websockets.adoc#messaging.websockets[#boot-features-websockets]
* xref:reference:messaging/websockets.adoc#messaging.websockets[#features.websockets]
* xref:reference:messaging/websockets.adoc#messaging.websockets[#messaging.websockets]
* xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.aot-cache[#packaging.class-data-sharing.aot-cache]
* xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.cds[#packaging.class-data-sharing.cds]
* xref:reference:packaging/aot-cache.adoc#packaging.aot-cache[#packaging.class-data-sharing]
* xref:reference:packaging/aot.adoc#packaging.aot[#deployment.efficient.aot]
* xref:reference:packaging/checkpoint-restore.adoc#packaging.checkpoint-restore[#deployment.efficient.checkpoint-restore]
* xref:reference:packaging/container-images/cloud-native-buildpacks.adoc#packaging.container-images.buildpacks[#boot-features-container-images-buildpacks]

25
documentation/spring-boot-docs/src/docs/antora/modules/how-to/pages/class-data-sharing.adoc → documentation/spring-boot-docs/src/docs/antora/modules/how-to/pages/aot-cache.adoc

@ -1,13 +1,16 @@ @@ -1,13 +1,16 @@
[[howto.class-data-sharing]]
= Class Data Sharing
[[howto.aot-cache]]
= AOT Cache
This section includes information about using Class Data Sharing (CDS) with Spring Boot applications.
For an overview of Spring Boot support for CDS, see xref:reference:packaging/class-data-sharing.adoc[].
This section includes information about using AOT cache with Spring Boot applications.
For an overview of Spring Boot support for AOT cache, see xref:reference:packaging/aot-cache.adoc[].
[[howto.class-data-sharing.buildpacks]]
== Packaging an Application Using CDS and Buildpacks
[[howto.aot-cache.buildpacks]]
== Packaging an Application Using AOT Cache and Buildpacks
NOTE: Buildpacks don't support AOT cache yet.
However, you can leverage CDS (the predecessor of AOT cache) with Buildpacks.
Spring Boot's xref:reference:packaging/container-images/cloud-native-buildpacks.adoc[support for Cloud Native Buildpacks] along with the https://paketo.io/docs/reference/java-reference[Paketo Java buildpack] and its https://paketo.io/docs/reference/java-reference/#spring-boot-applications[Spring Boot support] can be used to generate a Docker image containing a CDS-optimized application.
@ -18,15 +21,15 @@ The Paketo Buildpack for Spring Boot https://github.com/paketo-buildpacks/spring @@ -18,15 +21,15 @@ The Paketo Buildpack for Spring Boot https://github.com/paketo-buildpacks/spring
[[howto.class-data-sharing.dockerfiles]]
== Packaging an Application Using CDS and Dockerfiles
[[howto.aot-cache.dockerfiles]]
== Packaging an Application Using AOT Cache and Dockerfiles
If you don't want to use Cloud Native Buildpacks, it is also possible to use CDS with a `Dockerfile`.
For more information about that, please see the xref:reference:packaging/container-images/dockerfiles.adoc#packaging.container-images.dockerfiles.cds[Dockerfiles reference documentation].
If you don't want to use Cloud Native Buildpacks, it is possible to use AOT cache (or CDS) with a `Dockerfile`.
For more information about that, please see the xref:reference:packaging/container-images/dockerfiles.adoc#packaging.container-images.dockerfiles.aot-cache[Dockerfiles reference documentation].
[[howto.class-data-sharing.training-run-configuration]]
[[howto.aot-cache.training-run-configuration]]
== Preventing Remote Services Interaction During the Training Run
When performing the training run, it may be needed to customize the Spring Boot application configuration to prevent connections to remote services that may happen before the Spring lifecycle is started.

2
documentation/spring-boot-docs/src/docs/antora/modules/how-to/partials/nav-how-to.adoc

@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
** xref:how-to:native-image/index.adoc[]
*** xref:how-to:native-image/developing-your-first-application.adoc[]
*** xref:how-to:native-image/testing-native-applications.adoc[]
** xref:how-to:class-data-sharing.adoc[]
** xref:how-to:aot-cache.adoc[]
** xref:how-to:deployment/index.adoc[]
*** xref:how-to:deployment/traditional-deployment.adoc[]
*** xref:how-to:deployment/cloud.adoc[]

64
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/aot-cache.adoc

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
[[packaging.aot-cache]]
= AOT Cache
AOT cache is a https://openjdk.org/jeps/483[JVM feature] that can help reduce the startup time and memory footprint of Java applications.
If you're using Java < 24, you should read the sections about CDS.
CDS is the predecessor of AOT cache, but works similarly.
Spring Boot supports both CDS and AOT cache, and it is recommended that you use AOT cache if it is available in the JVM version you are using (Java 24 or later).
[[packaging.aot-cache.aot-cache]]
== AOT Cache
NOTE: If you're using Java < 24, AOT cache is not available.
You have to use CDS instead.
To use the AOT cache feature, you should first perform a training run on your application in extracted form:
[source,shell]
----
$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:AOTCacheOutput=app.aot -Dspring.context.exit=onRefresh -jar my-app.jar
----
This creates an `app.aot` cache file that can be reused as long as the application is not updated and the same Java version is used.
To use the cache file, you need to add an extra parameter when starting the application:
[source,shell]
----
$ java -XX:AOTCache=app.aot -jar my-app.jar
----
NOTE: You have to use the cache file with the extracted form of the application, otherwise it has no effect.
[[packaging.aot-cache.cds]]
== CDS
NOTE: If you're using Java 24 or later, please use AOT cache instead of CDS.
To use CDS, you should first perform a training run on your application in extracted form:
[source,shell]
----
$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar my-app.jar
----
This creates an `application.jsa` archive file that can be reused as long as the application is not updated.
To use the archive file, you need to add an extra parameter when starting the application:
[source,shell]
----
$ java -XX:SharedArchiveFile=application.jsa -jar my-app.jar
----
NOTE: You have to use the cache file with the extracted form of the application, otherwise it has no effect.
NOTE: For more details about CDS, refer to the https://docs.oracle.com/en/java/javase/17/vm/class-data-sharing.html[Class Data Sharing documentation of the JDK].

2
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/aot.adoc

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
It's beneficial for the startup time to run your application using the AOT generated initialization code.
First, you need to ensure that the jar you are building includes AOT generated code.
NOTE: CDS and AOT can be combined to further improve startup time.
NOTE: AOT cache and Spring's AOT can be combined to further improve startup time.
For Maven, this means that you should build with `-Pnative` to activate the `native` profile:

53
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/class-data-sharing.adoc

@ -1,53 +0,0 @@ @@ -1,53 +0,0 @@
[[packaging.class-data-sharing]]
= Class Data Sharing
Class Data Sharing (CDS) is a https://docs.oracle.com/en/java/javase/17/vm/class-data-sharing.html[JVM feature] that can help reduce the startup time and memory footprint of Java applications.
In Java 24, CDS is succeeded by the AOT Cache via https://openjdk.org/jeps/483[JEP 483].
Spring Boot supports both CDS and AOT cache, and it is recommended that you use the latter if it is available in the JVM version you are using (Java 24+).
[[packaging.class-data-sharing.cds]]
== CDS
To use CDS, you should first perform a training run on your application in extracted form:
[source,shell]
----
$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar my-app.jar
----
This creates an `application.jsa` archive file that can be reused as long as the application is not updated.
To use the archive file, you need to add an extra parameter when starting the application:
[source,shell]
----
$ java -XX:SharedArchiveFile=application.jsa -jar my-app.jar
----
NOTE: For more details about CDS, refer to the xref:how-to:class-data-sharing.adoc[CDS how-to guide] and the {url-spring-framework-docs}/integration/cds.html[Spring Framework reference documentation].
[[packaging.class-data-sharing.aot-cache]]
== AOT Cache
To use the AOT cache, you should first perform a training run on your application in extracted form:
[source,shell]
----
$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:AOTMode=record -XX:AOTConfiguration=app.aotconf -Dspring.context.exit=onRefresh -jar my-app.jar
$ java -XX:AOTMode=create -XX:AOTConfiguration=app.aotconf -XX:AOTCache=app.aot -jar my-app.jar
----
This creates an `app.aot` cache file that can be reused as long as the application is not updated.
The intermediate `app.aotconf` file is no longer needed and can be safely deleted.
To use the cache file, you need to add an extra parameter when starting the application:
[source,shell]
----
$ java -XX:AOTCache=app.aot -jar my-app.jar
----

48
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/container-images/dockerfiles.adoc

@ -33,7 +33,7 @@ Here is an example of a `Dockerfile` using `jarmode`. @@ -33,7 +33,7 @@ Here is an example of a `Dockerfile` using `jarmode`.
include::reference:partial$dockerfile[]
# Start the application jar - this is not the uber jar used by the builder
# This jar only contains application code and references to the extracted jar files
# This layout is efficient to start up and CDS/AOT cache friendly
# This layout is efficient to start up and AOT cache (and CDS) friendly
ENTRYPOINT ["java", "-jar", "application.jar"]
----
@ -50,43 +50,49 @@ Each of the `COPY` commands relates to the layers extracted by the jarmode. @@ -50,43 +50,49 @@ Each of the `COPY` commands relates to the layers extracted by the jarmode.
Of course, a `Dockerfile` can be written without using the `jarmode`.
You can use some combination of `unzip` and `mv` to move things to the right layer but `jarmode` simplifies that.
Additionally, the layout created by the `jarmode` is CDS and AOT cache friendly out of the box.
Additionally, the layout created by the `jarmode` is AOT cache (and CDS) friendly out of the box.
[[packaging.container-images.dockerfiles.cds]]
== CDS
[[packaging.container-images.dockerfiles.aot-cache]]
== AOT Cache
NOTE: If you're using Java < 24, AOT cache is not available.
You have to use CDS instead.
If you want to additionally enable xref:reference:packaging/class-data-sharing.adoc#packaging.class-data-sharing.cds[CDS], you can use this `Dockerfile`:
If you want to additionally enable the xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.aot-cache[AOT cache], you can use this `Dockerfile`:
[source,dockerfile]
----
include::reference:partial$dockerfile[]
# Execute the CDS training run
RUN java -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar application.jar
# Start the application jar with CDS enabled - this is not the uber jar used by the builder
# Execute the AOT cache training run
RUN java -XX:AOTCacheOutput=app.aot -Dspring.context.exit=onRefresh -jar application.jar
# Start the application jar with AOT cache enabled - this is not the uber jar used by the builder
# This jar only contains application code and references to the extracted jar files
# This layout is efficient to start up and CDS friendly
ENTRYPOINT ["java", "-XX:SharedArchiveFile=application.jsa", "-jar", "application.jar"]
# This layout is efficient to start up and AOT cache friendly
ENTRYPOINT ["java", "-XX:AOTCache=app.aot", "-jar", "application.jar"]
----
This is mostly the same as the above `Dockerfile`.
As the last steps, it creates the CDS archive by doing a training run and passes the CDS parameter to `java -jar`.
As the last steps, it creates the AOT cache file by doing a training run and passes the AOT cache parameter to `java -jar`.
[[packaging.container-images.dockerfiles.aot-cache]]
== AOT cache
If you want to additionally enable the xref:reference:packaging/class-data-sharing.adoc#packaging.class-data-sharing.aot-cache[AOT cache], you can use this `Dockerfile`:
[[packaging.container-images.dockerfiles.cds]]
== CDS
NOTE: If you're using Java 24 or later, please use AOT cache instead of CDS.
If you want to additionally enable xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.cds[CDS], you can use this `Dockerfile`:
[source,dockerfile]
----
include::reference:partial$dockerfile[]
# Execute the AOT cache training run
RUN java -XX:AOTMode=record -XX:AOTConfiguration=app.aotconf -Dspring.context.exit=onRefresh -jar application.jar
RUN java -XX:AOTMode=create -XX:AOTConfiguration=app.aotconf -XX:AOTCache=app.aot -jar application.jar && rm app.aotconf
# Start the application jar with AOT cache enabled - this is not the uber jar used by the builder
# Execute the CDS training run
RUN java -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar application.jar
# Start the application jar with CDS enabled - this is not the uber jar used by the builder
# This jar only contains application code and references to the extracted jar files
# This layout is efficient to start up and AOT cache friendly
ENTRYPOINT ["java", "-XX:AOTCache=app.aot", "-jar", "application.jar"]
# This layout is efficient to start up and CDS friendly
ENTRYPOINT ["java", "-XX:SharedArchiveFile=application.jsa", "-jar", "application.jar"]
----
This is mostly the same as the above `Dockerfile`.
As the last steps, it creates the AOT cache file by doing a training run and passes the AOT cache parameter to `java -jar`.
As the last steps, it creates the CDS archive by doing a training run and passes the CDS parameter to `java -jar`.

2
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/efficient.adoc

@ -12,7 +12,7 @@ Certain PaaS implementations may also choose to extract archives before they run @@ -12,7 +12,7 @@ Certain PaaS implementations may also choose to extract archives before they run
For example, Cloud Foundry operates this way.
Spring Boot supports extracting your application to a directory using different layouts.
The default layout is the most efficient, and it is xref:reference:packaging/class-data-sharing.adoc#packaging.class-data-sharing.cds[CDS] and xref:reference:packaging/class-data-sharing.adoc#packaging.class-data-sharing.aot-cache[AOT cache] friendly.
The default layout is the most efficient, and it is xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.aot-cache[AOT cache] (and xref:reference:packaging/aot-cache.adoc#packaging.aot-cache.cds[CDS]) friendly.
In this layout, the libraries are extracted to a `lib/` folder, and the application jar
contains the application classes and a manifest which references the libraries in the `lib/` folder.

2
documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/packaging/index.adoc

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
[[packaging]]
= Packaging Spring Boot Applications
Spring Boot supports several technologies for optimizing applications for deployment, including xref:packaging/native-image/index.adoc[GraalVM native images], xref:packaging/class-data-sharing.adoc[Class Data Sharing], and xref:packaging/checkpoint-restore.adoc[Checkpoint and Restore].
Spring Boot supports several technologies for optimizing applications for deployment, including xref:packaging/native-image/index.adoc[GraalVM native images], xref:packaging/aot-cache.adoc[AOT cache], and xref:packaging/checkpoint-restore.adoc[Checkpoint and Restore].
Spring Boot applications can be packaged in Docker containers using techniques described in xref:packaging/container-images/index.adoc[].

4
documentation/spring-boot-docs/src/docs/antora/modules/reference/partials/dockerfile

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
# Perform the extraction in a separate builder container
FROM bellsoft/liberica-openjre-debian:24-cds AS builder
FROM bellsoft/liberica-openjre-debian:25-cds AS builder
WORKDIR /builder
# This points to the built jar file in the target folder
# Adjust this to 'build/libs/*.jar' if you're using Gradle
@ -10,7 +10,7 @@ COPY ${JAR_FILE} application.jar @@ -10,7 +10,7 @@ COPY ${JAR_FILE} application.jar
RUN java -Djarmode=tools -jar application.jar extract --layers --destination extracted
# This is the runtime container
FROM bellsoft/liberica-openjre-debian:24-cds
FROM bellsoft/liberica-openjre-debian:25-cds
WORKDIR /application
# Copy the extracted jar contents from the builder container into the working directory in the runtime container
# Every copy step creates a new docker layer

2
documentation/spring-boot-docs/src/docs/antora/modules/reference/partials/nav-reference.adoc

@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
** xref:reference:packaging/index.adoc[]
*** xref:reference:packaging/efficient.adoc[]
*** xref:reference:packaging/class-data-sharing.adoc[]
*** xref:reference:packaging/aot-cache.adoc[]
*** xref:reference:packaging/aot.adoc[]
*** xref:reference:packaging/native-image/index.adoc[]
**** xref:reference:packaging/native-image/introducing-graalvm-native-images.adoc[]

Loading…
Cancel
Save