软件编程
位置:首页>> 软件编程>> java编程>> 在spring boot3中使用native image的最新方法

在spring boot3中使用native image的最新方法

作者:flydean程序那些事  发布时间:2022-05-18 17:43:14 

标签:spring,boot3,native,image

简介

在之前spring boot3文章中我们介绍了,spring boot3的一个重要特性就是支持把spring boot3的应用编译成为GraalVM的Native Image。

今天我们用具体的例子来给大家演示一下如何正确的将spring boot3的应用编译成为native image。

安装GraalVM

如果要把spring boot3的app编译成为native应用,需要GraalVM的支持。

什么是GraalVM呢?

从名字就可以看出来GraalVM是一个虚拟机,它的主要目标就是提升java应用程序的性能,并且消耗更少的资源。

它在java HotSpot JVM的基础上添加了JIT编译器和AOT来实现将应用编译成为本地可执行文件。除了java之外,GraalVM还支持JavaScript、Ruby、Python等多种编程语言。

所以,为什么要用GraalVM呢?一个字:快。

安装GraalVM也比较简单,我们进入它的官方下载页面下载对应的版本即可:https://www.oracle.com/downloads/graalvm-downloads.html。

GraalVM跟JDK一样也有两个版本,社区版和企业版本,大家可以根据需要自行选择。

要注意的是spring boot3需要GraalVM 22.3以上的版本支持,大家可不要下载错了。

下载完成之后,我们可以像正常安装JDK一样来安装GraalVM,这里以mac为例,假如我们安装的目录是/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0,那么我们需要配置对应的JAVA_HOME和PATH环境变量如下:

export PATH=/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0/Contents/Home/bin:$PATH

export JAVA_HOME=/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0/Contents/Home
export PATH=/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0/Contents/Home/bin:$PATH

export JAVA_HOME=/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0/Contents/Home

PATH中有一个非常重要的命令叫做gu,如果不添加PATH,那么在使用中就可能遇到下面的异常:

'gu' tool wasn't found. This probably means that JDK at isn't a GraalVM distribution.

安装完毕之后可以通过下面的命令来进行验证:

java -version
java version "17.0.5" 2022-10-18 LTS
Java(TM) SE Runtime Environment GraalVM EE 22.3.0 (build 17.0.5+9-LTS-jvmci-22.3-b07)
Java HotSpot(TM) 64-Bit Server VM GraalVM EE 22.3.0 (build 17.0.5+9-LTS-jvmci-22.3-b07, mixed mode, sharing)

如果是在mac环境下,还需要执行下面的命令来解除对graalvm的隔离限制:

sudo xattr -r -d com.apple.quarantine /path/to/graalvm

否则在使用中就会遇到下面的问题:

在spring boot3中使用native image的最新方法

添加Native Image支持

我们安装GraalVM的目的就是使用它的native Image特性。native image是一个单独的jar包,我们可以执行下面的命令来进行安装:

gu install native-image

其中gu就是/Library/Java/JavaVirtualMachines/graalvm-ee-java17-22.3.0/Contents/Home/bin中的命令。

下载的过程中还需要输入一个有效的邮件,并进行邮箱校验。然后一路ENTER就可以了。

当然,你还可以把Oracle GraalVM Enterprise Edition Native Image下载到本地,然后使用gu install -L来进行本地安装。

来源:https://www.cnblogs.com/flydean/p/17076848.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com