BellSoft 发布了Liberica Native Image Kit (NIK) 的新版本, 22.0.0.2,在本文中,我们聊一下如何将Native Image Kit与 Quarkus 框架一起使用。
文章图片
Liberica NIK 基于开源项目 GraalVM(社区版),兼容多种平台,包括基于轻量级 musl 的 Alpine Linux。Liberica NIK 本质上是将基于 JVM 的应用程序转换为本机可执行文件(AOT 编译)的实用程序。
Liberica NIK 22.0.0.2 最新版本包括多项增强功能:
- 在 Liberica NIK for macOS 中添加了对 OpenJFX 的支持(已经支持 Windows 和 Linux)
- Native image默认包含在所有 NIK 风格中。安装不再需要运行 GU。
![如何在Quarkus 框架中使用 Native Image](https://img.it610.com/image/info9/cca8af66aacd4a02bc3a9d4c9ae76e30.jpg)
文章图片
为什么要使用原生图像? Native image技术优化了资源消耗,最大限度地减少了静态占用空间,并提供几乎实时的启动。Liberica NIK 旨在支持大量平台和编程语言,因此该套件支持多种语言程序。使用 Liberica NIK 可以降低成本并加速部署。
如何在 Quarkus 框架中使用 Liberica NIK? Quarkus 是云原生的开源技术堆栈。虽然传统的 Java 堆栈是为单体应用程序而设计的,但 Quarkus 是一个新的浪潮框架,旨在减少云和容器主导行业中的大内存需求。它是一个 Kubernetes 原生 Java 框架,专为原生镜像量身定制,非常适合在云中部署和无服务器开发。Quarkus 支持 Jakarta EE/MicroProfile 实施的几种流行标准。
通过将 Liberica NIK 与 Quarkus 框架一起使用,可以进一步提高其效率。
![如何在Quarkus 框架中使用 Native Image](https://img.it610.com/image/info9/9099098d2c3540a8bdc3cfd8591daab8.jpg)
文章图片
构建一个原生镜像 因此,让我们以 Hello World 应用程序为例,使用 Quarkus 和 Liberica NIK 构建本机映像。首先,您需要准备工具和软件。
设置一个 C 编译器工具链。在 Linux 上,GCC 以及 glibc 和 zlib 头文件是必需的。
# dnf (rpm-based)sudo dnf install gcc glibc-devel zlib-devel libstdc++-static# Debian-based distributions:sudo apt install build-essential libz-dev zlib1g-dev
在 Windows 上,安装Visual Studio 2017 Visual C++ Build Tools。
在 MacOS 的情况下,依赖项由 XCode 提供:xcode-select --install.
为了演示如何将 Liberica NIK 集成到 Quarkus 中,我们将使用最基本的 Quarkus “Hello World”应用程序。继续按照官方文档创建一个简单的 Quarkus 应用程序。
现在您已经准备好 Hello World 应用程序,让我们配置 Native Image Kit。
首先下载适合版本的Liberica NIK(该软件包已包含 Liberica VM 和本机映像工具)。下载完成后,通过在命令行中验证校验和来检查文件(校验和应与下载页面上链接旁边的校验和匹配)。
配置构建环境。对于 Linux 和 macOS,如果您有 TGZ/ZIP 存档,将JAVA_HOME环境变量设置为 NIK 安装目录:
export JAVA_HOME=$HOME/Development/bellsoft-liberica-vm-openjdk11-22.0.0.2
如果使用包(deb、pkg/dmg)进行安装,macOS 的安装路径是常规路径。
在 Windows 上,通过控制面板来设置环境变量。
注意,从 21.3.1 开始的所有 Liberica NIK 版本都默认包含原生镜像,允许您跳过 gu install 步骤。我们不在这里描述这个步骤。
如果您按照说明构建了 Quarkus 应用程序,您将在 pom.xml 找到以下配置文件:
native native
应用程序的本机可执行文件将包含应用程序代码、必要的库、Java API 以及虚拟机的特殊简化版本。要创建它,请运行以下命令:
JAVA_HOME=$HOME/Development/bellsoft-liberica-vm-openjdk11-22.0.0.2./mvnw package -Pnative
注意,打包本机执行文件可能需要一些时间(通常几分钟),请耐心等待。JAVA_HOME如果您按照步骤 1 中的说明导出命令,也不需要在每个命令前面加上设置。
生成的可执行文件作为
target/getting-started-1.0.0-SNAPSHOT-runner.
为确保一切正常运行,启动应用程序。
【如何在Quarkus 框架中使用 Native Image】如果您完成了这个简短的练习,您将能够使用最新的 Liberica Native Image Kit 22.0.0.2 达到令人难以置信的应用程序启动时间(仅 0.013 秒)。使用此实用程序享受您的开发体验!
推荐阅读
- Redis 存储结构体信息,选 hash 还是string()
- 2021 年最常用密码出炉,第一毫无悬念!
- 面试|真别卷了 , 踏踏实实金三银四 , 少走点弯路
- java|“我跳槽了 , 工资翻倍”
- 程序人生|给3月准备跳槽的后端提个醒,千万别当愣头青
- Java|程序员在35岁的时候依然被公司抢着要(这或许是答案...)
- python|部署证明书提出了挑战和架构正统观念
- java|产品硬件成本分析_硬件项目中的错误成本
- 人工智能|2天训练出15亿参数大模型,国产开源项目力克英伟达Megatron-LM,来自LAMB作者团队...