Spring分层Fat Jar和Gradle插件layertools jarmode

2024-01-12

Spring boot 2.3.0 具有针对容器映像构建进行优化的分层 fat jar。现在,Spring 文档仅讨论 Maven 构建工具,而不讨论 Gradle。

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

例如:如果使用命令提取 jarjava -Djarmode=layertools -jar app.jar extract这是用 Gradle Spring boot 插件制作的id("org.springframework.boot") version "2.3.0.RELEASE"它失败并显示消息:Unsupported jarmode 'layertools'。基本上如果罐子是用./gradlew bootJar默认情况下,分层 jar 似乎未处于活动状态。

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

./dependencies/
./snapshot-dependencies/
./resources/
./application/

春天的博客春季博客2.3.0.ML https://spring.io/blog/2020/01/27/creating-docker-images-with-spring-boot-2-3-0-m1讨论 Maven 构建工具和配置:

<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
    <layout>LAYERED_JAR</layout>
</configuration>

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


该文档介绍了如何使用 spring-boot-gradle-plugin 为 Spring Boot 应用程序激活分层 fat jar。

详情请参阅使用 Gradle 打包分层罐子 https://docs.spring.io/spring-boot/docs/2.3.0.M1/gradle-plugin/reference/html/#packaging-layered-jars.

In the build.gradle file:

// Groovy solution
bootJar {
    layered()
}


// Kotlin solution
tasks.getByName<BootJar>("bootJar") {
    layered()
}

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring分层Fat Jar和Gradle插件layertools jarmode 的相关文章

随机推荐