启用 Solon AOT 编译打包后，在打包时会：

* 生成 solon 代理类代码文件（运行时，不再需要 ASM 介入）
* 生成 solon 类索引文件（项目类很多时，可以加速启动）

Solon AOT 编译，是 Solon Native 编译的一部分，也可以独立使用。使用条件要求：

* 使用 solon-maven-plugin 打包方式
* 要求 java 17+ （v3.7.2 后，不再限制 jdk 版本）


更多可参考：[Solon AOT & Native 开发](/article/learn-solon-native) / [aot 项目编译示范](/article/1220)

### 1、使用 solon-parent

```xml
<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>最新版本</version>
</parent>
```

以 maven 打包为例，启用配置文件 native，然后使用 maven 的 pakage 命令即可。

补充说明：

* 使用 maven:pakage 打包，会使用 AOT 编译，生成常规的 jar 包
* 使用 graalvm:native:build 打包，会使用 AOT 编译，且生成 graalvm image （具体参考专题资料）

<img src="/img/d69236ae829149c880a553f348a48291.png" width="400" />


### 2、没有使用 solon-parent

以 maven 打包为例，在 pom.xml 添加一个 profile。之后，参考上面的说明。

```xml
<profiles>
    <profile>
        <id>native</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.noear</groupId>
                    <artifactId>solon-maven-plugin</artifactId>
                    <version>${solon.version}</version>
                    <executions>
                        <execution>
                            <id>process-aot</id>
                            <goals>
                                <goal>process-aot</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>org.noear</groupId>
                <artifactId>solon-aot</artifactId>
            </dependency>
        </dependencies>
    </profile>
</profiles>
```