自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Quarkus 框架中使用 Native Image Kit

開發(fā) 項目管理
Liberica NIK 基于開源項目 GraalVM(社區(qū)版),兼容多種平臺,包括基于輕量級 musl 的 Alpine Linux。Liberica NIK 本質上是將基于 JVM 的應用程序轉換為本機可執(zhí)行文件(AOT 編譯)的實用程序。

BellSoft 發(fā)布了Liberica Native Image Kit (NIK) 的新版本, 22.0.0.2,在本文中,我們聊一下如何將Native Image Kit與 Quarkus 框架一起使用。

Liberica NIK 基于開源項目 GraalVM(社區(qū)版),兼容多種平臺,包括基于輕量級 musl 的 Alpine Linux。Liberica NIK 本質上是將基于 JVM 的應用程序轉換為本機可執(zhí)行文件(AOT 編譯)的實用程序。

Liberica NIK 22.0.0.2 最新版本包括多項增強功能:

  • 在 Liberica NIK for macOS 中添加了對 OpenJFX 的支持(已經(jīng)支持 Windows 和 Linux)
  • Native image默認包含在所有 NIK 風格中。安裝不再需要運行 GU。

為什么要使用原生圖像?

Native image技術優(yōu)化了資源消耗,最大限度地減少了靜態(tài)占用空間,并提供幾乎實時的啟動。Liberica NIK 旨在支持大量平臺和編程語言,因此該套件支持多種語言程序。使用 Liberica NIK 可以降低成本并加速部署。

如何在 Quarkus 框架中使用 Liberica NIK?

Quarkus 是云原生的開源技術堆棧。雖然傳統(tǒng)的 Java 堆棧是為單體應用程序而設計的,但 Quarkus 是一個新的浪潮框架,旨在減少云和容器主導行業(yè)中的大內(nèi)存需求。它是一個 Kubernetes 原生 Java 框架,專為原生鏡像量身定制,非常適合在云中部署和無服務器開發(fā)。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”應用程序。繼續(xù)按照官方文檔創(chuàng)建一個簡單的 Quarkus 應用程序。

現(xiàn)在您已經(jīng)準備好 Hello World 應用程序,讓我們配置 Native Image Kit。

首先下載適合版本的Liberica NIK(該軟件包已包含 Liberica VM 和本機映像工具)。下載完成后,通過在命令行中驗證校驗和來檢查文件(校驗和應與下載頁面上鏈接旁邊的校驗和匹配)。

配置構建環(huán)境。對于 Linux 和 macOS,如果您有 TGZ/ZIP 存檔,將JAVA_HOME環(huán)境變量設置為 NIK 安裝目錄:

<profiles>
<profile>
<id>native</id>
<properties>
<quarkus.package.type>native</quarkus.package.type>
</properties>
</profile>
</profiles>

如果使用包(deb、pkg/dmg)進行安裝,macOS 的安裝路徑是常規(guī)路徑。

在 Windows 上,通過控制面板來設置環(huán)境變量。

注意,從 21.3.1 開始的所有 Liberica NIK 版本都默認包含原生鏡像,允許您跳過 gu install 步驟。我們不在這里描述這個步驟。

如果您按照說明構建了 Quarkus 應用程序,您將在 pom.xml 找到以下配置文件:

<profiles>
<profile>
<id>native</id>
<properties>
<quarkus.package.type>native</quarkus.package.type>
</properties>
</profile>
</profiles>

應用程序的本機可執(zhí)行文件將包含應用程序代碼、必要的庫、Java API 以及虛擬機的特殊簡化版本。要創(chuàng)建它,請運行以下命令:

JAVA_HOME=$HOME/Development/bellsoft-liberica-vm-openjdk11-22.0.0.2./mvnw 
package -Pnative

注意,打包本機執(zhí)行文件可能需要一些時間(通常幾分鐘),請耐心等待。JAVA_HOME如果您按照步驟 1 中的說明導出命令,也不需要在每個命令前面加上設置。

生成的可執(zhí)行文件作為

target/getting-started-1.0.0-SNAPSHOT-runner.

為確保一切正常運行,啟動應用程序。

如果您完成了這個簡短的練習,您將能夠使用最新的 Liberica Native Image Kit 22.0.0.2 達到令人難以置信的應用程序啟動時間(僅 0.013 秒)。使用此實用程序享受您的開發(fā)體驗!

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-09-16 19:00:48

Linux變量

2014-07-02 09:47:06

SwiftCocoaPods

2020-04-09 10:18:51

Bash循環(huán)Linux

2024-09-06 11:34:15

RustAI語言

2020-11-30 11:55:07

Docker命令Linux

2020-12-08 22:07:08

PythonWebDjango

2023-01-28 17:41:07

Java代碼

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2020-12-31 07:31:10

C# 反射數(shù)據(jù)

2023-11-02 11:15:01

容器Kubernetes

2023-01-05 17:13:28

TypeScript泛型組件

2018-05-16 10:32:06

Linux命令find

2022-05-10 09:12:16

TypeScript裝飾器

2015-08-31 13:42:06

IDEDockerdoclipser

2011-08-10 09:31:41

Hibernateunion

2021-03-09 07:27:40

Kafka開源分布式

2022-06-23 08:00:53

PythonDateTime模塊

2015-08-27 09:46:09

swiftAFNetworkin

2021-06-09 09:36:18

DjangoElasticSearLinux
點贊
收藏

51CTO技術棧公眾號