spring-boot-layertools

Extract Spring Boot layered JARs up to ✨10x faster✨ than the built-in Java CLI.

docker hub crates.io

Usage

This tool is intended to be used as a Docker multi-stage builder image. For example:

```dockerfile FROM aramperes/spring-boot-layertools:latest as layertools

Copy your 'fat layered jar'

COPY ./target/*.jar layered.jar

Extract layers

RUN spring-boot-layertools layered.jar extract

Copy layers to your final image

FROM eclipse-temurin:17-jre-alpine COPY --from=layertools /home/layertools/spring-boot-loader / RUN true COPY --from=layertools /home/layertools/dependencies / RUN true COPY --from=layertools /home/layertools/snapshot-dependencies / RUN true COPY --from=layertools /home/layertools/application / RUN true

ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"] ```

Command-line Options

``` USAGE: spring-boot-layertools

ARGS: The layered Spring Boot jar to extract

OPTIONS: -h, --help Print help information -V, --version Print version information

SUBCOMMANDS: classpath List classpath dependencies from the jar extract Extracts layers from the jar for image creation help Print this message or the help of the given subcommand(s) list List layers from the jar that can be extracted ```

License

MIT License. See LICENSE for details. Copyright © 2022 Aram Peres.

"Spring" and "Spring Boot" are trademarks of Pivotal Software, Inc.