Solon v4.0.5

native 小入门(及完整示例)

</> markdown
2026年8月12日 上午11:14:51

1、用 Solon Initializr 生成默认项目

2、打包成 native 可执行程序

  • a) 引入依赖 solon-aot
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-aot</artifactId>
</dependency>
  • b) 把项目 sdk 改为 graalvm 17 (或 graalvm 21,或 graalvm 25 等)
# 借用工具或手动方式把 jdk 改为 graalvm-ce-17
#sdk use java 22.3.1.r17-grl
  • c) 打包或安装到本地(单模块,可以略过)

用 install 可以兼容多模块场景,用 package 只适合单模块

mvn clean install -DskipTests
  • d) 激活 native 的 profile,并在启动项目下执行mvn命令
# 打包成native可执行程序
mvn clean native:compile -P native -DskipTests

# 运行可执行成
./target/demo
  • e) 运行后测试
GET http://localhost:8080/hello?name=solon

3、验证 AOT 是否生效

打包后检查 target/classes/META-INF/native-image/<应用包路径>/ 目录,应包含:

  • native-image.propertiesreflect-config.jsonresource-config.jsonsolon-resource.json(等)
  • 以及 target/generated-sources/ 下生成的 Xxx$$SolonAotProxy.java 代理源码

4、完整的示例

附件: 演示视频