# 3. Spring Boot's layered extraction: dependencies, loader, snapshots and your code become four # separate layers, ordered from least to most likely to change. FROM eclipse-temurin:25-jre AS builder WORKDIR /builder COPY target/app.jar application.jar RUN java -Djarmode=tools -jar application.jar extract --layers --destination extracted FROM eclipse-temurin:25-jre WORKDIR /application COPY --from=builder /builder/extracted/dependencies/ ./ COPY --from=builder /builder/extracted/spring-boot-loader/ ./ COPY --from=builder /builder/extracted/snapshot-dependencies/ ./ COPY --from=builder /builder/extracted/application/ ./ ENTRYPOINT ["java", "-jar", "application.jar"]