v3.7.2 后 solon aot 可以像普通构造一样使用（支持任意版本的 jdk）

---

Solon AOT（Ahead-of-Time Processing）编译，只对主模块（有 main 函数）有效，其它模块要用常规构建方式。



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

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


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

<img src="/img/1999207f296e43e1965252b0327dca41.png" width="300" />


ps: solon-native-example 的类比较少，使用 aot 编译打包后：启动时间没有提升（macbook pro 2020 款）

* 或者使用命令

```
mvn clean -DskipTests=true -P aot package
```

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

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


* 可视化操作：

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

ps: snowy-solon 类可能比较多，使用 aot 编译打包后：启动时间从 3.1s 提升到 2.6s（macbook pro 2020 款）




