Liberica NIK 基于开源项目 GraalVM(社区版),兼容多种平台,包括基于轻量级 musl 的 Alpine Linux。Liberica NIK 本质上是将基于 JVM 的应用程序转换为本机可执行文件(AOT 编译)的实用程序。
Liberica NIK 22.0.0.2 最新版本包括多项增强功能:
Native image技术优化了资源消耗,最大限度地减少了静态占用空间,并提供几乎实时的启动。Liberica NIK 旨在支持大量平台和编程语言,因此该套件支持多种语言程序。使用 Liberica NIK 可以降低成本并加速部署。
Quarkus 是云原生的开源技术堆栈。虽然传统的 Java 堆栈是为单体应用程序而设计的,但 Quarkus 是一个新的浪潮框架,旨在减少云和容器主导行业中的大内存需求。它是一个 Kubernetes 原生 Java 框架,专为原生镜像量身定制,非常适合在云中部署和无服务器开发。Quarkus 支持 Jakarta EE/MicroProfile 实施的几种流行标准。
通过将 Liberica NIK 与 Quarkus 框架一起使用,可以进一步提高其效率。
因此,让我们以 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 安装目录:
native
native
如果使用包(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.
为确保一切正常运行,启动应用程序。
如果您完成了这个简短的练习,您将能够使用最新的 Liberica Native Image Kit 22.0.0.2 达到令人难以置信的应用程序启动时间(仅 0.013 秒)。使用此实用程序享受您的开发体验!
网站标题:如何在Quarkus框架中使用NativeImageKit
文章位置:http://www.shufengxianlan.com/qtweb/news46/371846.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联