偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

Liberica NIK 基于開(kāi)源項(xiàng)目 GraalVM(社區(qū)版),兼容多種平臺(tái),包括基于輕量級(jí) musl 的 Alpine Linux。Liberica NIK 本質(zhì)上是將基于 JVM 的應(yīng)用程序轉(zhuǎn)換為本機(jī)可執(zhí)行文件(AOT 編譯)的實(shí)用程序。

Liberica NIK 22.0.0.2 最新版本包括多項(xiàng)增強(qiáng)功能:

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

為什么要使用原生圖像?

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

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

Quarkus 是云原生的開(kāi)源技術(shù)堆棧。雖然傳統(tǒng)的 Java 堆棧是為單體應(yīng)用程序而設(shè)計(jì)的,但 Quarkus 是一個(gè)新的浪潮框架,旨在減少云和容器主導(dǎo)行業(yè)中的大內(nèi)存需求。它是一個(gè) Kubernetes 原生 Java 框架,專(zhuān)為原生鏡像量身定制,非常適合在云中部署和無(wú)服務(wù)器開(kāi)發(fā)。Quarkus 支持 Jakarta EE/MicroProfile 實(shí)施的幾種流行標(biāo)準(zhǔn)。

通過(guò)將 Liberica NIK 與 Quarkus 框架一起使用,可以進(jìn)一步提高其效率。

構(gòu)建一個(gè)原生鏡像

因此,讓我們以 Hello World 應(yīng)用程序?yàn)槔褂?Quarkus 和 Liberica NIK 構(gòu)建本機(jī)映像。首先,您需要準(zhǔn)備工具和軟件。

設(shè)置一個(gè) 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 的情況下,依賴(lài)項(xiàng)由 XCode 提供:xcode-select --install.

為了演示如何將 Liberica NIK 集成到 Quarkus 中,我們將使用最基本的 Quarkus “Hello World”應(yīng)用程序。繼續(xù)按照官方文檔創(chuàng)建一個(gè)簡(jiǎn)單的 Quarkus 應(yīng)用程序。

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

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

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

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

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

在 Windows 上,通過(guò)控制面板來(lái)設(shè)置環(huán)境變量。

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

如果您按照說(shuō)明構(gòu)建了 Quarkus 應(yīng)用程序,您將在 pom.xml 找到以下配置文件:

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

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

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

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

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

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

為確保一切正常運(yùn)行,啟動(dòng)應(yīng)用程序。

如果您完成了這個(gè)簡(jiǎn)短的練習(xí),您將能夠使用最新的 Liberica Native Image Kit 22.0.0.2 達(dá)到令人難以置信的應(yīng)用程序啟動(dòng)時(shí)間(僅 0.013 秒)。使用此實(shí)用程序享受您的開(kāi)發(fā)體驗(yàn)!

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2022-05-17 08:25:10

TypeScript接口前端

2022-06-23 08:00:53

PythonDateTime模塊

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開(kāi)源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2011-08-10 09:31:41

Hibernateunion

2024-01-18 08:37:33

socketasyncio線程

2019-09-16 19:00:48

Linux變量

2020-11-30 11:55:07

Docker命令Linux

2014-07-02 09:47:06

SwiftCocoaPods

2024-09-06 11:34:15

RustAI語(yǔ)言

2020-04-09 10:18:51

Bash循環(huán)Linux

2020-12-08 22:07:08

PythonWebDjango

2015-11-26 10:57:56

DockerOpen vSwitc

2021-09-10 10:30:22

Java庫(kù)代碼

2022-10-25 09:07:28

Linuxxargs命令

2025-03-21 09:58:59

Python數(shù)據(jù)類(lèi)型安全

2023-12-01 09:18:27

AxiosAxios 庫(kù)

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)