以GraalVM原生镜像的方式运行Spring Boot应用程序

但是Spring团队真的接受了这个大挑战!安迪·克莱门特和Sébastiendeleuze已经作为一个实验项目为Spring提供了一个Graal@AutomaticFeature的实现。现在已经有大量的示例Spring项目使用这个特性来创建GraalVM原生图像。我发现这真是太棒了,真想仔细看看!

用SDKMAN安装GraalVM


别说了!让我们开始吧。正如有倾向的读者已经知道的那样,我总是努力写100%易懂的博客文章。希望这里的这个也不例外,因此您可以在GitHub上找到一个示例项目: https://github.com/jonashackt/spring-boot-graalvm

为了使用GraalVM,我们需要做的第一件事就是安装它。多亏了我的同事克里斯托夫·达尔斯基,我最近才真正喜欢上了SDKMAN。您可以使用它管理jdk和Java工具,比如Maven或GraalVM。为了使用SDKMAN,我们需要在本地安装它:

curl -s “https://get.sdkman.io” | bash

source “$HOME/.sdkman/bin/sdkman-init.sh”

如果SDKMAN已经成功安装,那么 sdk list java 命令应该显示SDKMAN能够安装的所有可能的jdk:

$ sdk list java

================================================================================

Available Java Versions

================================================================================

Vendor | Use | Version | Dist | Status | Identifier


AdoptOpenJDK | | 14.0.0.j9 | adpt | | 14.0.0.j9-adpt

| | 14.0.0.hs | adpt | | 14.0.0.hs-adpt

| | 13.0.2.j9 | adpt | | 13.0.2.j9-adpt

GraalVM | | 20.1.0.r11 | grl | | 20.1.0.r11-grl

| | 20.1.0.r8 | grl | | 20.1.0.r8-grl

| | 19.3.1.r11 | grl | | 19.3.1.r11-grl

列表本身要长得多,您可以看到这种方法的奇妙的简单性: 永远不要再弄乱JDK安装! 现在要安装基于JDK11的GraalVM,只需运行:

sdk install java 20.1.0.r11-grl

SDKMAN现在为我们安装GraalVM。要正确配置PATH变量,可能需要重新启动控制台。如果一切顺利,您应该看到 java-version 输出如下:

$ java -version

openjdk version “11.0.7” 2020-04-14

OpenJDK Runtime Environment GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02)

OpenJDK 64-Bit Server VM GraalVM CE 20.1.0 (build 11.0.7+10-jvmci-20.1-b02, mixed mode, sharing)

安装GraalVM原生镜像(本机映像)


如前所述,我们需要GraalVM的子项目Native Image来编译Spring Boot应用程序。因此,GraalVM附带了专用工具 gu– GraalVM更新程序。要列出当前安装的所有GraalVM项目,请运行:

$ gu list

ComponentId Version Component name Origin


graalvm 20.1.0 GraalVM Core

要安装GraalVM本机映像,只需运行:

gu install native-image

之后,本机映像命令应该可以为我们工作,并且可以进行编译工作:

$ native-image --version

GraalVM Version 20.1.0 (Java Version 11.0.7)

创建一个简单的WebFlux REST-Spring Boot应用程序


为了从Spring Boot应用程序创建GraalVM本机映像,我们至少需要一个。最简单的方法就是现在就创建。所以正如著名的starbuxman所建议的,我们需要从Start-Dot-Spring-Dot-IO开始!

【图片】

在那里,我们应该选择至少2.3.0版本的SpringBoot版本。对Spri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值