基于GraalVM使用Spring Native打包小记
🔥

基于GraalVM使用Spring Native打包小记

Created
Oct 28, 2022 01:47 AM
Tags

1. 安装GraalVM

根据实际使用的操作系统和jdk版本选择, 这里我选择了jdk17, os: windows
下载下面的第一个 “Oracle GraalVM Enterprise Edition JDK” 并解压到合适位置
进入bin目录执行 gu.cmd install native-image 从网络安装native-image库, 或者是把 Oracle GraalVM Enterprise Edition Native Image 文件下载下来然后本地进行安装

2. 安装VS C++编译器

需要安装的组件为:
notion image
以及SDK
notion image
等待安装完成

3. 配置环境变量

PATH中添加:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64
INCLUDE中添加:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\include;
LIB中添加:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\lib\x64;
IDE中环境变量配置当前使用的GRAALVM_HOME地址
notion image

4. 配置Gradle依赖以及打包插件

注意: 此项目使用SpringBoot3.0.0版本, 原生自带spring-native依赖, 如果是SpringBoot2.x.x版本则可能需要引入别的依赖
 
plugin中增加:
id 'org.graalvm.buildtools.native' version '0.9.16'
如果需要build镜像, 则可选配置:
tasks.named('bootBuildImage'){ buildpacks = ['gcr.io/paketo-buildpacks/bellsoft-liberica:9.9.0-ea', 'gcr.io/paketo-buildpacks/java-native-image'] }

5. Compile

一个CRUD的项目编译了6分钟…
notion image
编译完成后打开native目录, 其中exe文件就是可执行文件了
notion image
随便拷贝到别的任何windows服务器上, 双击执行
notion image