创建 GraalVM Spring Boot 简单项目

创建项目地址

https://start.spring.io

依赖选择

Spring Web

  • Web 依赖,提供 RESTful API

GraalVM Native Support

  • GraalVM 依赖,用于提供 Native 功能

jar 包编译

解压下载好的项目,在项目根目录运行 mvn clean package -DskipTests

根据下方日志可知,打包完成的 jar 包 位置:/Users/xuxiaowei/Downloads/graalvm-demo/target/graalvm-demo-0.0.1-SNAPSHOT.jar

GraalVM Native 二进制编译

JAVA_HOME 环境变量 设置为安装的 GraalVM 路径

  • 也可以将安装的 GraalVM 路径设置为 GRAALVM_HOME 环境变量,进行 GraalVM Native 编译时,程序会自动判断当前的 JAVA_HOME 环境变量 是否是 GraalVM,如果不是则取 GRAALVM_HOME 环境变量

在项目根目录运行 mvn clean package -DskipTests -Pnative native:compile

根据下方日志可知,打包完成的 GraalVM Native 二进制 位置:/Users/xuxiaowei/Downloads/graalvm-demo/target/graalvm-demo-0.0.1-SNAPSHOT.jar

  1. 作者在 Mac 构建,所以产物是 Mac 上可以直接运行的二进制(无需 Java 环境
  2. 如果在 Windows 构建,产物是 .exe 可执行二进制(无需 Java 环境

GraalVM Native 直接运行效果