Spring boot 2.5.0 生成的 *jar 和 *-plain.jar 的区别?

问题描述

我将 Spring Boot 应用程序升级到 2.5.0,然后是 app.jar,而 app-plain.jar 是由 gradle 创建的。

我想知道这些罐子之间的区别。

谢谢

解决方法

app.jar 是由 bootJar 任务生成的存档。这是一个 Spring Boot 胖 jar,包含模块的所有依赖项及其类和资源。它可以使用 java -jar 运行。

app-plain.jar 是由 jar 任务生成的存档。这是一个普通的或标准的 jar 文件,只包含模块的类和资源。

您可以在 Spring Boot 的 Gradle 插件的 documentation 中了解更多相关信息。