Solon Native 编译，只对主模块（有 main 函数）有效，其它模块要用常规构建方式。（总体上和 Solon AOT 类似）

* 要求 graalvm jdk17 （或 graalvm jdk21 或 graalvm jdk25）环境
* 刚开始，编译（或运行）出错的机率会很高（要有心里准备）。需要按提示完善登记


### 1、单模块项目编译

单模块项目（即一个主模块）。Native 编译比较简单。下面以 solon-native-example 在 IDEA 下为例。


* 可视化操作：勾选 `native` 构建配置，（主模块）执行 mvn package 命令

<img src="/img/b427712162f04f59a93b9e7da0a8e423.png" width="300" />



* 或者使用命令

```
mvn clean -DskipTests=true -P native native:compile
```

### 2、多模块项目编译

多模块项目（一个主模块，加其它多个模块）的编译，略有不同。下面以 snowy-solon 在 IDEA 下为例。


* 可视化操作：

<table>
  <tr>
       <th>第一步<br/>所有模块先本地 mvn install</th>
       <th>第二步<br/>主模块 mvn -P aot package</th>
  </tr>
  <tr>
        <td>不要勾选 native，（所有模块）执行 mvn install 命令</td>
        <td>勾选 native，（主模块）执行 mvn package 命令</td>
   </tr>
  <tr>
      <td><img src="/img/6c27d6294ed24bc680808cf20a05c0a9.png" width="300" /></td>
      <td><img src="/img/0d2e32e991164b97aecd48650a09dfcb.png" width="300" /></td>
  </tr>
</table>

