简介
为了保证阅读的连贯性,在这里会粗略的描述应用使用 Jarslink2.0 的打包逻辑,官方推荐先跳转到上述链接进行必要的背景知识学习。
Jarslink2.0 要求应用是 Spring Boot 或者 应用类型,在介绍新的应用打包方式之前,先来看下为什么 Spring Boot/ SOFABoot 应用在使用 Jarslink2.0 之后,需要引入新的打包方式。
Jarslink2.0 运行时是作为 SOFAArk 框架的 Ark Plugin 工作, 因此使用 Jarslink2.0 必须要引入 SOFAArk 框架,只有在 SOFAArk 容器启动之后,才会加载并启动 Jarslink2.0 插件。我们知道,官方 Spring Boot 工程使用插件:
会打出一个可执行的 FatJar,该 FatJar 包含应用运行时所需的所有依赖、配置等资源,该 FatJar 入口方法即是 Spring Boot 应用的 main 方法。SOFABoot 工程和 Spring Boot 工程打包逻辑一样。
负责将 Spring Boot/SOFABoot 应用打包成一个可执行的 FatJar,称之为 。
在上一小结,我们描述了为什么使用 Jarslink2.0 需要引入区别于 Spring Boot 官方的打包方式,并引出了应用的第一种打包类型,Ark 包。下面我们总结下 Ark 包具有的特性:
- Ark 包除了包含应用运行时所需的所有配置、依赖等资源,类似 Spring Boot的打包逻辑;而且包含了应用依赖的 Ark Plugin 以及 SOFAArk 框架。其中 SOFAArk 框架不需要应用开发者使用传统的 标签形式在应用中引入,而是上述打包插件 自动打入,SOFAArk 框架版本即为打包插件版本。
为了理解简单,可以认为 Ark 包 = Spring Boot FatJar + SOFAArk框架 + Ark Plugin。在新的打包逻辑中,为了更合理组织这部分 Spring Boot Fatjar,SOFAArk 重新组织成了另一种组织格式,这就引出了应用的第二种打包类型,Biz 包。关于 Biz 包的特性总结如下:
因此,实际上可以认为 Ark 包 = Biz 包 + SOFAArk 框架 + Ark Plugin
综述,应用通过 SOFAArk 提供的打包插件:
可以打成两种类型格式包,分别是 Ark 包和 Biz 包。
关于打包插件 的详细使用可以参考文档。这里贴一个简单的打包配置,配置如下: