«

使用graalvm把springboot3.0编译成为exe可执行文件!启动速度超快!无需jdk环境!

Qihan 发布于 阅读:1931 文章


首先下载graalvm
官网https://www.graalvm.org/downloads/
点击下载后调转到GitHub那边,选择对应的java版本,我选的是17

下载后解压,然后配置环境变量,地址就是你解压后的地址
JAVA_HOME

注意:在path环境变量修改以前配置过了jdk,统统修改为这个地址 +\bin
打开cmd 检查:输入java -version,看是否替换成功

下载Visual Studio 2019 (其他版本也可以)
勾选C++桌面开发环境,然后根据系统选择一个sdk

选好之后我们就创建一个springboot3.0项目,勾选spring web,添加一个controller类,这里就不演示了。

然后打开x64 Native Tools Command Prompt for VS 2019,这个是安装2019带的软件,没有自行查百度
通过cd命令 切换到springboot3项目所在地址 输入

mvn -Pnative native:compile


回车等待编译

这里可能出现一个问题就是 如果没有安装native-image 会开始自动下载 native-image 但是网络不好的小伙伴可能会卡半天,甚至失败,所以我们可以打开GitHub官网自行下载安装
地址:https://github.com/graalvm/graalvm-ce-builds/releases
根据版本和系统下载(实在不知道哪一个也可以断网等到报错就会提示对应版本的下载地址)

下载后使用以下命令安装

gu install -L native-image-installable-svm-java17-windows-amd64-22.3.0.jar

回车安装
然后重新尝试编译

有些人会在编译中出现 AMD64 ??unsupported 错误
可以打开 Visual Studio Installer 尝试将中文卸载 安装英文版本

编译好后打开项目目录下载的target文件夹,就可以看到编译好的exe文件了
双击启动

个人感觉就启动速度巨快!不过整个exe文件,就写了一个hello world 的情况下已经达到了69mb,看着好像把jre里面的东西全部搞进去了。

推荐阅读: