小编kai*_*rno的帖子

Spring Layered Fat Jar 和 Gradle 插件 layertools jarmode

Spring Boot 2.3.0 具有分层的 fat jar,它们针对容器镜像构建进行了优化。现在,Spring 文档只讨论 Maven 构建工具,而不讨论 Gradle。

拜托,我们需要对 Gradle 插件做什么才能让它为 Spring Boot 构建一个“分层 jar”?

例如:如果java -Djarmode=layertools -jar app.jar extract使用 Gradle Spring 引导插件制作的命令提取 jarid("org.springframework.boot") version "2.3.0.RELEASE"失败并显示消息:Unsupported jarmode 'layertools'。基本上,如果 jar 是用./gradlew bootJar它构建的,它似乎默认情况下分层 jar 是不活动的。

提取分层 jar 应该会产生以下目录,然后将这些目录复制到另一个容器映像中执行,并且只有当较低层发生更改时,缓存系统才必须重新读取它们。用-Djarmode=layertools标志提取的分层罐子:

./dependencies/
./snapshot-dependencies/
./resources/
./application/
Run Code Online (Sandbox Code Playgroud)

spring Spring Blog 2.3.0.ML 的博客讨论了 Maven 构建工具和配置:

<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
    <layout>LAYERED_JAR</layout>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我们如何为 Gradle 插件启用相同的配置?

java spring jar gradle spring-boot

7
推荐指数
1
解决办法
3577
查看次数

标签 统计

gradle ×1

jar ×1

java ×1

spring ×1

spring-boot ×1