如何将GrralVM25打包SpringBoot成可执行文件并使用Native-Image的最佳实践?

摘要:此为作者摸索出的较为简洁的最佳实践,如有更好方法,可交流联系首先下载GraalVM25, 两种较为优雅的方式 下载1. 官网下载地址2. 利用Idea便捷下载流程是从idea左上角打开项目结构面板,点击左栏项目设置中的项目,选择JDK,点击
此为作者摸索出的较为简洁的最佳实践,如有更好方法,可交流联系 首先下载GraalVM25, 两种较为优雅的方式 下载 1. 官网下载地址 2. 利用Idea便捷下载 流程是从idea左上角打开项目结构面板,点击左栏项目设置中的项目,选择JDK,点击下载JDK,选择一款GraalVM下载即可 个人追求简单优雅,不喜欢设置环境变量,利用全能的Idea动态选择JDK,因此这里就不设置环境变量了 C++依赖安装 GraalVM打包需要C++依赖,这里GraalVM官网说明支持两种方式,下载Visual studio22或最新版,没错,就是那个huge的IDE,或是使用它的buildTools下载器,只需要下载必要依赖即可 这里给出中国buildTools下载地址:https://visualstudio.microsoft.com/zh-hant/visual-cpp-build-tools/ 下载后选择使用C++的桌面开发 为了保证干净简洁,只能尽可能少的安装东西,这里作者仅安装了这些就可以运行了,windowsSDK这里为了保证可运行安装了两个,理论上只需要MSVC生成工具最新版和最新版WindowsSDK两个依赖即可运行了 实际上只需要上面两把√就可以了,下面两个旧版本是为了保险的 安装后无需配置环境变量,直接可用 安装之前需要注意选择安装位置 快捷配置打包 GraalVM官网只给出了编译普通.java文件的方式,且其中的pom配置繁杂, 对于SpringBoot的farjar的编译,还需要考虑反射,AOT的各种配置,而spring的initializr给出了较为优雅的方式 可直接通过idea的spring.initializr新建项目,勾选Developer Tools下的GraalVM Native Support依赖,此处SpringBoot的版本是有要求的,具体可查询谷歌娘,但是3,4版本均是可用的 创建项目后,可以观察Spring官方的Pom文件十分简单优雅,仅比普通的配置多出了一个native-maven-plugin插件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>4.0.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.tantron</groupId> <artifactId>test-graalVM-demo3</artifactId> <version>0.0.1-SNAPSHOT</version> <name>test-graalVM-demo3</name> <description>test-graalVM-demo3</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <develope
阅读全文