[[aot.process-aot-goal]]
= `spring-boot:process-aot`

`org.springframework.boot:spring-boot-maven-plugin:3.3.0-SNAPSHOT`

Invoke the AOT engine on the application.



[[aot.process-aot-goal.required-parameters]]
== Required parameters

[cols="3,2,3"]
|===
| Name | Type | Default

| xref:#aot.process-aot-goal.parameter-details.classes-directory[classesDirectory]
| `File`
| `${project.build.outputDirectory}`

| xref:#aot.process-aot-goal.parameter-details.generated-classes[generatedClasses]
| `File`
| `${project.build.directory}/spring-aot/main/classes`

| xref:#aot.process-aot-goal.parameter-details.generated-resources[generatedResources]
| `File`
| `${project.build.directory}/spring-aot/main/resources`

| xref:#aot.process-aot-goal.parameter-details.generated-sources[generatedSources]
| `File`
| `${project.build.directory}/spring-aot/main/sources`

|===



[[aot.process-aot-goal.optional-parameters]]
== Optional parameters

[cols="3,2,3"]
|===
| Name | Type | Default

| xref:#aot.process-aot-goal.parameter-details.arguments[arguments]
| `String[]`
|

| xref:#aot.process-aot-goal.parameter-details.compiler-arguments[compilerArguments]
| `String`
|

| xref:#aot.process-aot-goal.parameter-details.exclude-group-ids[excludeGroupIds]
| `String`
|

| xref:#aot.process-aot-goal.parameter-details.excludes[excludes]
| `List`
|

| xref:#aot.process-aot-goal.parameter-details.includes[includes]
| `List`
|

| xref:#aot.process-aot-goal.parameter-details.jvm-arguments[jvmArguments]
| `String`
|

| xref:#aot.process-aot-goal.parameter-details.main-class[mainClass]
| `String`
|

| xref:#aot.process-aot-goal.parameter-details.profiles[profiles]
| `String[]`
|

| xref:#aot.process-aot-goal.parameter-details.skip[skip]
| `boolean`
| `false`

| xref:#aot.process-aot-goal.parameter-details.system-property-variables[systemPropertyVariables]
| `Map`
|

|===



[[aot.process-aot-goal.parameter-details]]
== Parameter details



[[aot.process-aot-goal.parameter-details.arguments]]
=== `arguments`
Application arguments that should be taken into account for AOT processing.

[cols="10h,90"]
|===

| Name
| `arguments`

| Type
| `java.lang.String[]`

| Default value
|

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.classes-directory]]
=== `classesDirectory`
Directory containing the classes and resource files that should be packaged into the archive.

[cols="10h,90"]
|===

| Name
| `classesDirectory`

| Type
| `java.io.File`

| Default value
| `${project.build.outputDirectory}`

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.compiler-arguments]]
=== `compilerArguments`
Arguments that should be provided to the AOT compile process. On command line, make sure to wrap multiple values between quotes.

[cols="10h,90"]
|===

| Name
| `compilerArguments`

| Type
| `java.lang.String`

| Default value
|

| User property
| ``spring-boot.aot.compilerArguments``

| Since
|

|===


[[aot.process-aot-goal.parameter-details.exclude-group-ids]]
=== `excludeGroupIds`
Comma separated list of groupId names to exclude (exact match).

[cols="10h,90"]
|===

| Name
| `excludeGroupIds`

| Type
| `java.lang.String`

| Default value
|

| User property
| ``spring-boot.excludeGroupIds``

| Since
| `1.1.0`

|===


[[aot.process-aot-goal.parameter-details.excludes]]
=== `excludes`
Collection of artifact definitions to exclude. The `Exclude` element defines mandatory `groupId` and `artifactId` components and an optional `classifier` component. When configured as a property, values should be comma-separated with colon-separated components: `groupId:artifactId,groupId:artifactId:classifier`

[cols="10h,90"]
|===

| Name
| `excludes`

| Type
| `java.util.List`

| Default value
|

| User property
| ``spring-boot.excludes``

| Since
| `1.1.0`

|===


[[aot.process-aot-goal.parameter-details.generated-classes]]
=== `generatedClasses`
Directory containing the generated classes.

[cols="10h,90"]
|===

| Name
| `generatedClasses`

| Type
| `java.io.File`

| Default value
| `${project.build.directory}/spring-aot/main/classes`

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.generated-resources]]
=== `generatedResources`
Directory containing the generated resources.

[cols="10h,90"]
|===

| Name
| `generatedResources`

| Type
| `java.io.File`

| Default value
| `${project.build.directory}/spring-aot/main/resources`

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.generated-sources]]
=== `generatedSources`
Directory containing the generated sources.

[cols="10h,90"]
|===

| Name
| `generatedSources`

| Type
| `java.io.File`

| Default value
| `${project.build.directory}/spring-aot/main/sources`

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.includes]]
=== `includes`
Collection of artifact definitions to include. The `Include` element defines mandatory `groupId` and `artifactId` components and an optional `classifier` component. When configured as a property, values should be comma-separated with colon-separated components: `groupId:artifactId,groupId:artifactId:classifier`

[cols="10h,90"]
|===

| Name
| `includes`

| Type
| `java.util.List`

| Default value
|

| User property
| ``spring-boot.includes``

| Since
| `1.2.0`

|===


[[aot.process-aot-goal.parameter-details.jvm-arguments]]
=== `jvmArguments`
JVM arguments that should be associated with the AOT process. On command line, make sure to wrap multiple values between quotes.

[cols="10h,90"]
|===

| Name
| `jvmArguments`

| Type
| `java.lang.String`

| Default value
|

| User property
| ``spring-boot.aot.jvmArguments``

| Since
|

|===


[[aot.process-aot-goal.parameter-details.main-class]]
=== `mainClass`
Name of the main class to use as the source for the AOT process. If not specified the first compiled class found that contains a 'main' method will be used.

[cols="10h,90"]
|===

| Name
| `mainClass`

| Type
| `java.lang.String`

| Default value
|

| User property
| ``spring-boot.aot.main-class``

| Since
|

|===


[[aot.process-aot-goal.parameter-details.profiles]]
=== `profiles`
Spring profiles to take into account for AOT processing.

[cols="10h,90"]
|===

| Name
| `profiles`

| Type
| `java.lang.String[]`

| Default value
|

| User property
|

| Since
|

|===


[[aot.process-aot-goal.parameter-details.skip]]
=== `skip`
Skip the execution.

[cols="10h,90"]
|===

| Name
| `skip`

| Type
| `boolean`

| Default value
| `false`

| User property
| ``spring-boot.aot.skip``

| Since
|

|===


[[aot.process-aot-goal.parameter-details.system-property-variables]]
=== `systemPropertyVariables`
List of JVM system properties to pass to the AOT process.

[cols="10h,90"]
|===

| Name
| `systemPropertyVariables`

| Type
| `java.util.Map`

| Default value
|

| User property
|

| Since
|

|===
