Edit this Page

Quarkus Maven Plugin

The Quarkus Maven Plugin builds the Quarkus applications, and provides helpers to launch dev mode or build native executables. For more information about how to use the Quarkus Maven Plugin, please refer to the Maven Tooling guide.

Discover Maven goals

Like most Maven plugins, the Quarkus Maven Plugin has a help goal that prints the description of the plugin, listing all available goals as well as their description. It is also possible to print out detailed information about a goal, all its parameters and their default values. For instance, to see the help for the create goal, run:

./mvnw quarkus:help -Ddetail -Dgoal=create

Maven goals reference

Here is the list of all the Quarkus Maven Plugin goals:

quarkus:add-extension

Allow adding an extension to an existing pom.xml file. Because you can add one or several extension in one go, there are 2 mojos: add-extensions and add-extension. Both supports the extension and extensions parameters.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

extension

For usability reason, this parameter allows adding a single extension.

Show more

String

extensions

The list of extensions to be added.

Show more

Set

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:add-extensions

Allow adding extensions to an existing pom.xml file. Because you can add one or several extension in one go, there are 2 mojos: add-extensions and add-extension. Both supports the extension and extensions parameters.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

extension

For usability reason, this parameter allows adding a single extension.

Show more

String

extensions

The list of extensions to be added.

Show more

Set

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:analyze-call-tree

Analyze call tree of a method or a class based on an existing report produced by Substrate when using -H:+PrintAnalysisCallTree, and does a more meaningful analysis of what is causing a type to be retained.

Parameter

Type

Default value

className

String

${class}

methodName

String

${method}

reportsDir

File

${project.build.directory}/reports

quarkus:build

Builds the Quarkus application.

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

attachRunnerAsMainArtifact

Whether to replace the original JAR with the Uber runner JAR as the main project artifact

Show more

boolean

attachSboms

Whether to attach SBOMs generated for Uber JARs as project artifacts

Show more

boolean

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

buildDirectory

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

generatedSourcesDirectory

The directory for generated source files.

Show more

File

${project.build.directory}/generated-sources

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

pluginRepos

The project’s remote repositories to use for the resolution of plugins and their dependencies.

Show more

List (required)

${project.remotePluginRepositories}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.build.skip

Skips the execution of this mojo

Show more

boolean

false

skipOriginalJarRename

When the building an Uber JAR, the default JAR is renamed by adding .original suffix. Enabling this property will disable the renaming of the original JAR.

Show more

boolean

systemProperties

The list of system properties defined for the plugin.

Show more

Map

quarkus:create

This goal helps in setting up Quarkus Maven project with quarkus-maven-plugin, with sensible defaults

Parameter

Type

Default value

appConfig

String

platformArtifactId

Artifact ID of the target platform BOM

Show more

String

platformGroupId

Group ID of the target platform BOM

Show more

String

platformVersion

Version of the target platform BOM

Show more

String

buildTool

String

MAVEN

className

The className will define the generated class names when picking only one of those extensions REST, RESTEasy Classic and Spring-Web. If more than one of those extensions are picked, then only the package name part will be used as packageName More info: https://github.com/quarkusio/quarkus/issues/14437 By default, the projectGroupId is used as package for generated classes (you can also use packageName to have them different). className

Show more

String

data

String

example

String

extensions

Set

javaVersion

Version of Java used to build the project.

Show more

String

noCode

When true, do not include any code in the generated Quarkus project.

Show more

boolean

false

outputDirectory

File

${basedir}

packageName

Set the package name of the generated classes. If not set, projectGroupId will be used as packageName packageName

Show more

String

path

The path will define the REST path of the generated code when picking only one of those extensions REST, RESTEasy Classic and Spring-Web. If more than one of those extensions are picked, this parameter will be ignored. More info: https://github.com/quarkusio/quarkus/issues/14437 className

Show more

String

project

MavenProject

${project}

projectArtifactId

String

projectDescription

String

projectGroupId

String

projectName

String

projectVersion

String

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:create-extension

Creates the base of a Quarkus Extension https://quarkus.io/guides/writing-extensions in different layout depending on the options and environment.

Create in the quarkus-parent project directory (or the extensions parent dir)

It will: * generate the new Quarkus extension in the extensions parent as a module (parent, runtime and deployment), with unit test and devmode test on option. * On option, generate the new integration test in the integration tests parent as a module. * add the dependencies to the bom/application/pom.xml.

Creating a Quarkiverse extension

When using -DgroupId=io.quarkiverse.[featureId], the new extension will use the Quarkiverse layout.

Creating a standalone extension

  • generate the new Quarkus extension in the current directory (parent, runtime and deployment), with unit test and devmode test on option.

  • On option, generate the new integration test module in the current directory.

Parameter

Type

Default value

artifactId

Used to detect legacy command usage and display an error

Show more

String

basedir

Directory where the changes should be performed.

Default: the current directory of the current Java process.

Show more

File

extensionDescription

The extensionDescription of the runtime module.

This description is used on https://code.quarkus.io/.

Show more

String

extensionId

extensionId of this extension (REQUIRED).

It will be used to generate the different extension modules artifactIds ([namespaceId][extensionId]-parent), runtime ([namespaceId][extensionId]) and deployment ([namespaceId][extensionId]-deployment).

Show more

String

extensionName

The extensionName of the runtime module. The extensionNames of the extension parent and deployment modules will be based on this name too.

Default: the formatted extensionId

Show more

String

groupId

The groupId for the newly created Maven modules (REQUIRED - INHERITED IN QUARKUS-CORE).

Show more

String

javaVersion

Version of Java used to build the project.

Show more

String

namespaceId

A prefix common to all extension artifactIds in the current source tree.

Default: "quarkus-" in quarkus Quarkus Core and Quarkiverse else ""

Show more

String

namespaceName

A prefix common to all extension names in the current source tree.

Default: "quarkus-" in Quarkus Core and Quarkiverse else ""

Show more

String

packageName

Base package under which classes should be created in Runtime and Deployment modules.

Default: auto-generated out of groupId, namespaceId and extensionId

Show more

String

project

MavenProject

${project}

quarkusBomArtifactId

The artifactId of the Quarkus platform BOM.

Default: io.quarkus.devtools.commands.CreateExtension.DEFAULT_BOM_ARTIFACT_ID

Show more

String

quarkusBomGroupId

The groupId of the Quarkus platform BOM.

Default: io.quarkus.devtools.commands.CreateExtension.DEFAULT_BOM_GROUP_ID

Show more

String

quarkusBomVersion

The version of the Quarkus platform BOM.

Default: io.quarkus.devtools.commands.CreateExtension.DEFAULT_BOM_VERSION

Show more

String

quarkusVersion

Quarkus version the newly created extension should depend on (REQUIRED - INHERITED IN QUARKUS-CORE).

Show more

String

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

version

The version for the newly created Maven modules.

Default: automatic in Quarkus Core else io.quarkus.devtools.commands.CreateExtension.DEFAULT_VERSION

Show more

String

withCodestart

Indicates whether to generate an extension codestart

Show more

boolean

withoutDevModeTest

Indicates whether to generate a devmode test for the extension

Show more

boolean

withoutIntegrationTests

Indicates whether to generate an integration tests for the extension

Show more

boolean

withoutTests

Indicates whether to generate any tests for the extension (same as -DwithoutUnitTest -DwithoutIntegrationTest -DwithoutDevModeTest)

Show more

boolean

withoutUnitTest

Indicates whether to generate a unit test class for the extension

Show more

boolean

quarkus:create-jbang

Parameter

Type

Default value

platformArtifactId

Artifact ID of the target platform BOM

Show more

String

platformGroupId

Group ID of the target platform BOM

Show more

String

platformVersion

Version of the target platform BOM

Show more

String

extensions

Set

javaVersion

String

noJBangWrapper

boolean

false

outputDirectory

File

${basedir}/jbang-with-quarkus

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

quarkus:dependency-sbom

Quarkus application SBOM generator

Parameter

Type

Default value

quarkus.dependency.sbom.format

CycloneDX BOM format. Allowed values are json and xml. The default is json.

Show more

String

json

quarkus.dependency.sbom.include-license-text

Whether to include license text in the generated SBOM. The default is false

Show more

boolean

false

quarkus.dependency.sbom.mode

Target launch mode corresponding to io.quarkus.runtime.LaunchMode for which the SBOM should be built. io.quarkus.runtime.LaunchMode.NORMAL is the default.

Show more

String

prod

quarkus.dependency.sbom.output-file

File to store the SBOM in. If not configured, the SBOM will be stored in the ${project.build.directory} directory.

Show more

File

project

MavenProject (required)

${project}

repos

List (required)

${project.remoteProjectRepositories}

quarkus.dependency.sbom.schema-version

CycloneDX BOM schema version

Show more

String

session

MavenSession

${session}

quarkus.dependency.sbom.skip

Whether to skip the execution of the goal

Show more

boolean

false

quarkus:dependency-tree

Displays Quarkus application build dependency tree including the deployment ones.

Parameter

Type

Default value

appendOutput

Whether to append outputs into the output file or overwrite it.

Show more

boolean

false

graph

INCUBATING option, enabled with @{code -Dquarkus.bootstrap.incubating-model-resolver} system or project property. Whether to log all dependencies of each dependency node in a tree, adding [+] suffix to those whose dependencies are not expanded.

Show more

boolean

mode

Target launch mode corresponding to io.quarkus.runtime.LaunchMode for which the dependency tree should be built. io.quarkus.runtime.LaunchMode.NORMAL is the default.

Show more

String

prod

outputFile

If specified, this parameter will cause the dependency tree to be written to the path specified, instead of writing to the console.

Show more

File

project

MavenProject (required)

${project}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

verbose

INCUBATING option, enabled with @{code -Dquarkus.bootstrap.incubating-model-resolver} system or project property. Whether to log dependency properties, such as on which classpath they belong, whether they are hot-reloadable in dev mode, etc.

Show more

boolean

quarkus:deploy

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

attachRunnerAsMainArtifact

Whether to replace the original JAR with the Uber runner JAR as the main project artifact

Show more

boolean

attachSboms

Whether to attach SBOMs generated for Uber JARs as project artifacts

Show more

boolean

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

buildDirectory

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

quarkus.deployment.dry-run

boolean

finalName

String

${project.build.finalName}

generatedSourcesDirectory

The directory for generated source files.

Show more

File

${project.build.directory}/generated-sources

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

quarkus.container-image.build

boolean

false

quarkus.container-image.builder

String

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

pluginRepos

The project’s remote repositories to use for the resolution of plugins and their dependencies.

Show more

List (required)

${project.remotePluginRepositories}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.build.skip

Skips the execution of this mojo

Show more

boolean

false

skipOriginalJarRename

When the building an Uber JAR, the default JAR is renamed by adding .original suffix. Enabling this property will disable the renaming of the original JAR.

Show more

boolean

systemProperties

The list of system properties defined for the plugin.

Show more

Map

quarkus:dev

The dev mojo, that runs a quarkus app in a forked process. A background compilation process is launched and any changes are automatically reflected in your running application. You can use this dev mode in a remote container environment with remote-dev.

Parameter

Type

Default value

argsString

String

${quarkus.args}

buildDir

File

${project.build.directory}

compilerArgs

Additional parameters to pass to javac when recompiling changed source files.

Show more

List

compilerOptions

Additional compiler arguments

Show more

List

debug

If this server should be started in debug mode. The default is to start in debug mode and listen on port 5005. Whether the JVM is suspended waiting for a debugger to be attached, depends on the value of suspend. debug supports the following options:

Value Effect false The JVM is not started in debug mode true The JVM is started in debug mode and will be listening on debugHost:debugPort client The JVM is started in client mode, and will attempt to connect to debugHost:debugPort {port} The JVM is started in debug mode and will be listening on debugHost:{port}. By default, debugHost has the value "localhost", and debugPort is 5005.

Show more

String

${debug}

debugHost

String

${debugHost}

debugPort

String

${debugPort}

deleteDevJar

boolean

TRUE

enforceBuildGoal

Whether to enforce the quarkus-maven-plugin build goal to be configured. By default, a missing build goal is considered an inconsistency (although the build goal is not required technically). In this case a warning will be logged and the application will not be started.

Show more

boolean

${quarkus.enforceBuildGoal}

environmentVariables

Map

forceC2

This value is intended to be set to true when we want to require C2 compilation instead of preventing it from ever kicking in. Setting this will likely have a small negative effect on startup time and should only be done when it absolutely makes sense.

Show more

boolean

${forceC2}

jvmArgs

Allows configuring arbitrary JVM arguments. Multiple arguments can be specified by delimiting them with a space character.

Show more

String

${jvm.args}

modules

Allows configuring the modules to add to the application. The listed modules will be added using: --add-modules m1,m2…​.

Show more

List

${add-modules}

mojoExecution

MojoExecution (required)

${mojoExecution}

noDeps

Whether changes in the projects that appear to be dependencies of the project containing the application to be launched should trigger hot-reload. By default, they do.

Show more

boolean

${noDeps}

openJavaLang

boolean

${open-lang-package}

outputDirectory

The directory for compiled classes.

Show more

File (required)

${project.build.outputDirectory}

pluginRepos

List (required)

${project.remotePluginRepositories}

preventnoverify

This value is intended to be set to true when some generated bytecode is erroneous causing the JVM to crash when the verify:none option is set (which is on by default)

Show more

boolean

${preventnoverify}

project

MavenProject (required)

${project}

release

The --release argument to javac.

Show more

String

${maven.compiler.release}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

skipPlugins

A comma-separated list of Maven plugin keys in groupId:artifactId format (for example org.codehaus.mojo:flatten-maven-plugin and/or goal prefixes, (for example flatten) that should be skipped when quarkus:dev identifies Maven plugin goals that should be executed before the application is launched in dev mode. Only the flatten Maven plugin is skipped by default.

Show more

Set

org.codehaus.mojo:flatten-maven-plugin

source

The -source argument to javac.

Show more

String

${maven.compiler.source}

sourceDir

File

${project.build.sourceDirectory}

suspend

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug mode. This parameter supports the following values (all the allowed values are case-insensitive): Value Effect y or true The debug mode JVM launch is suspended n or false The debug mode JVM is started without suspending

Show more

String

${suspend}

systemProperties

Map

target

The -target argument to javac.

Show more

String

${maven.compiler.target}

quarkus.warnIfBuildGoalMissing

boolean

workingDir

File

quarkus:generate-code

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

launchMode

String

NORMAL

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.generate-code.skip

Skip the execution of this mojo

Show more

boolean

false

quarkus:generate-code-tests

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

launchMode

String

NORMAL

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.generate-code.skip

Skip the execution of this mojo

Show more

boolean

false

quarkus:go-offline

This goal downloads all the Maven artifact dependencies required to build, run, test and launch the application dev mode.

Parameter

Type

Default value

mode

Target launch mode corresponding to io.quarkus.runtime.LaunchMode for which the dependencies should be resolved. io.quarkus.runtime.LaunchMode.TEST is the default, since it includes both provided and test dependency scopes.

Show more

String

test

project

MavenProject (required)

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:help

Display help information on quarkus-maven-plugin. Call mvn quarkus:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.

Parameter

Type

Default value

detail

If true, display all settable properties for each goal.

Show more

boolean

false

goal

The name of the goal for which to show help. If unspecified, all goals will be displayed.

Show more

String

indentSize

The number of spaces per indentation level, should be positive.

Show more

int

2

lineLength

The maximum length of a display line, should be positive.

Show more

int

80

quarkus:image-build

Builds a container image.

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

attachRunnerAsMainArtifact

Whether to replace the original JAR with the Uber runner JAR as the main project artifact

Show more

boolean

attachSboms

Whether to attach SBOMs generated for Uber JARs as project artifacts

Show more

boolean

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

buildDirectory

File

${project.build.directory}

quarkus.container-image.builder

String

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

quarkus.container-image.dry-run

boolean

finalName

String

${project.build.finalName}

generatedSourcesDirectory

The directory for generated source files.

Show more

File

${project.build.directory}/generated-sources

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

pluginRepos

The project’s remote repositories to use for the resolution of plugins and their dependencies.

Show more

List (required)

${project.remotePluginRepositories}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.build.skip

Skips the execution of this mojo

Show more

boolean

false

skipOriginalJarRename

When the building an Uber JAR, the default JAR is renamed by adding .original suffix. Enabling this property will disable the renaming of the original JAR.

Show more

boolean

systemProperties

The list of system properties defined for the plugin.

Show more

Map

quarkus:image-push

Pushes a container image.

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

attachRunnerAsMainArtifact

Whether to replace the original JAR with the Uber runner JAR as the main project artifact

Show more

boolean

attachSboms

Whether to attach SBOMs generated for Uber JARs as project artifacts

Show more

boolean

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

buildDirectory

File

${project.build.directory}

quarkus.container-image.builder

String

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

quarkus.container-image.dry-run

boolean

finalName

String

${project.build.finalName}

generatedSourcesDirectory

The directory for generated source files.

Show more

File

${project.build.directory}/generated-sources

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

pluginRepos

The project’s remote repositories to use for the resolution of plugins and their dependencies.

Show more

List (required)

${project.remotePluginRepositories}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.build.skip

Skips the execution of this mojo

Show more

boolean

false

skipOriginalJarRename

When the building an Uber JAR, the default JAR is renamed by adding .original suffix. Enabling this property will disable the renaming of the original JAR.

Show more

boolean

systemProperties

The list of system properties defined for the plugin.

Show more

Map

quarkus:info

Log Quarkus-specific project information, such as imported Quarkus platform BOMs, Quarkus extensions found among the project dependencies, etc.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

perModule

If true, the information will be logged per each relevant module of the project instead of an overall summary

Show more

boolean

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:list-categories

List extension categories, which a user can use to filter extensions.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

format

Select the output format among 'name' (display the name only) and 'full' (includes a verbose name and a description).

Show more

String

concise

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:list-extensions

List the available extensions. You can add one or several extensions in one go, with the 2 following mojos: add-extensions and add-extension. You can list all extension or just installable. Choose between 3 output formats: name, concise and full.

Parameter

Type

Default value

all

List all extensions or just the installable.

Show more

boolean

true

bomArtifactId

String

bomGroupId

String

bomVersion

String

category

Only list extensions from given category.

Show more

String

format

Select the output format among 'id' (display the artifactId only), 'concise' (display name and artifactId) and 'full' (concise format and version related columns).

Show more

String

concise

installed

List the already installed extensions

Show more

boolean

false

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

searchPattern

Search filter on extension list. The format is based on Java Pattern.

Show more

String

session

MavenSession

${session}

quarkus:list-platforms

List imported and optionally other platforms available for the project.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

installed

List the already installed extensions

Show more

boolean

false

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:native-image-agent

Post-processes native image agent generated configuration to trim any unnecessary configuration.

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:prepare

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

launchMode

String

NORMAL

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.generate-code.skip

Skip the execution of this mojo

Show more

boolean

false

quarkus:prepare-tests

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

launchMode

String

NORMAL

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.generate-code.skip

Skip the execution of this mojo

Show more

boolean

false

quarkus:remote-dev

The dev mojo, that connects to a remote host.

Parameter

Type

Default value

argsString

String

${quarkus.args}

buildDir

File

${project.build.directory}

compilerArgs

Additional parameters to pass to javac when recompiling changed source files.

Show more

List

compilerOptions

Additional compiler arguments

Show more

List

debug

If this server should be started in debug mode. The default is to start in debug mode and listen on port 5005. Whether the JVM is suspended waiting for a debugger to be attached, depends on the value of suspend. debug supports the following options:

Value Effect false The JVM is not started in debug mode true The JVM is started in debug mode and will be listening on debugHost:debugPort client The JVM is started in client mode, and will attempt to connect to debugHost:debugPort {port} The JVM is started in debug mode and will be listening on debugHost:{port}. By default, debugHost has the value "localhost", and debugPort is 5005.

Show more

String

${debug}

debugHost

String

${debugHost}

debugPort

String

${debugPort}

deleteDevJar

boolean

TRUE

enforceBuildGoal

Whether to enforce the quarkus-maven-plugin build goal to be configured. By default, a missing build goal is considered an inconsistency (although the build goal is not required technically). In this case a warning will be logged and the application will not be started.

Show more

boolean

${quarkus.enforceBuildGoal}

environmentVariables

Map

forceC2

This value is intended to be set to true when we want to require C2 compilation instead of preventing it from ever kicking in. Setting this will likely have a small negative effect on startup time and should only be done when it absolutely makes sense.

Show more

boolean

${forceC2}

jvmArgs

Allows configuring arbitrary JVM arguments. Multiple arguments can be specified by delimiting them with a space character.

Show more

String

${jvm.args}

modules

Allows configuring the modules to add to the application. The listed modules will be added using: --add-modules m1,m2…​.

Show more

List

${add-modules}

mojoExecution

MojoExecution (required)

${mojoExecution}

noDeps

Whether changes in the projects that appear to be dependencies of the project containing the application to be launched should trigger hot-reload. By default, they do.

Show more

boolean

${noDeps}

openJavaLang

boolean

${open-lang-package}

outputDirectory

The directory for compiled classes.

Show more

File (required)

${project.build.outputDirectory}

pluginRepos

List (required)

${project.remotePluginRepositories}

preventnoverify

This value is intended to be set to true when some generated bytecode is erroneous causing the JVM to crash when the verify:none option is set (which is on by default)

Show more

boolean

${preventnoverify}

project

MavenProject (required)

${project}

release

The --release argument to javac.

Show more

String

${maven.compiler.release}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

skipPlugins

A comma-separated list of Maven plugin keys in groupId:artifactId format (for example org.codehaus.mojo:flatten-maven-plugin and/or goal prefixes, (for example flatten) that should be skipped when quarkus:dev identifies Maven plugin goals that should be executed before the application is launched in dev mode. Only the flatten Maven plugin is skipped by default.

Show more

Set

org.codehaus.mojo:flatten-maven-plugin

source

The -source argument to javac.

Show more

String

${maven.compiler.source}

sourceDir

File

${project.build.sourceDirectory}

suspend

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug mode. This parameter supports the following values (all the allowed values are case-insensitive): Value Effect y or true The debug mode JVM launch is suspended n or false The debug mode JVM is started without suspending

Show more

String

${suspend}

systemProperties

Map

target

The -target argument to javac.

Show more

String

${maven.compiler.target}

quarkus.warnIfBuildGoalMissing

boolean

workingDir

File

quarkus:remove-extension

Allow removing an extension from an existing pom.xml file. Because you can remove one or several extension in one go, there are 2 mojos: remove-extensions and remove-extension. Both supports the extension and extensions parameters.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

extension

For usability reason, this parameter allows removing a single extension.

Show more

String

extensions

The list of extensions to be removed.

Show more

Set

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:remove-extensions

Allow removing extensions to an existing pom.xml file. Because you can remove one or several extension in one go, there are 2 mojos: remove-extensions and remove-extension. Both supports the extension and extensions parameters.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

extension

For usability reason, this parameter allows removing a single extension.

Show more

String

extensions

The list of extensions to be removed.

Show more

Set

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus:run

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

systemProperties

The list of system properties defined for the plugin.

Show more

Map

quarkus:test

The test mojo, that starts continuous testing outside of dev mode

Parameter

Type

Default value

argsString

String

${quarkus.args}

buildDir

File

${project.build.directory}

compilerArgs

Additional parameters to pass to javac when recompiling changed source files.

Show more

List

compilerOptions

Additional compiler arguments

Show more

List

debug

If this server should be started in debug mode. The default is to start in debug mode and listen on port 5005. Whether the JVM is suspended waiting for a debugger to be attached, depends on the value of suspend. debug supports the following options:

Value Effect false The JVM is not started in debug mode true The JVM is started in debug mode and will be listening on debugHost:debugPort client The JVM is started in client mode, and will attempt to connect to debugHost:debugPort {port} The JVM is started in debug mode and will be listening on debugHost:{port}. By default, debugHost has the value "localhost", and debugPort is 5005.

Show more

String

${debug}

debugHost

String

${debugHost}

debugPort

String

${debugPort}

deleteDevJar

boolean

TRUE

enforceBuildGoal

Whether to enforce the quarkus-maven-plugin build goal to be configured. By default, a missing build goal is considered an inconsistency (although the build goal is not required technically). In this case a warning will be logged and the application will not be started.

Show more

boolean

${quarkus.enforceBuildGoal}

environmentVariables

Map

forceC2

This value is intended to be set to true when we want to require C2 compilation instead of preventing it from ever kicking in. Setting this will likely have a small negative effect on startup time and should only be done when it absolutely makes sense.

Show more

boolean

${forceC2}

jvmArgs

Allows configuring arbitrary JVM arguments. Multiple arguments can be specified by delimiting them with a space character.

Show more

String

${jvm.args}

modules

Allows configuring the modules to add to the application. The listed modules will be added using: --add-modules m1,m2…​.

Show more

List

${add-modules}

mojoExecution

MojoExecution (required)

${mojoExecution}

noDeps

Whether changes in the projects that appear to be dependencies of the project containing the application to be launched should trigger hot-reload. By default, they do.

Show more

boolean

${noDeps}

openJavaLang

boolean

${open-lang-package}

outputDirectory

The directory for compiled classes.

Show more

File (required)

${project.build.outputDirectory}

pluginRepos

List (required)

${project.remotePluginRepositories}

preventnoverify

This value is intended to be set to true when some generated bytecode is erroneous causing the JVM to crash when the verify:none option is set (which is on by default)

Show more

boolean

${preventnoverify}

project

MavenProject (required)

${project}

release

The --release argument to javac.

Show more

String

${maven.compiler.release}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

skipPlugins

A comma-separated list of Maven plugin keys in groupId:artifactId format (for example org.codehaus.mojo:flatten-maven-plugin and/or goal prefixes, (for example flatten) that should be skipped when quarkus:dev identifies Maven plugin goals that should be executed before the application is launched in dev mode. Only the flatten Maven plugin is skipped by default.

Show more

Set

org.codehaus.mojo:flatten-maven-plugin

source

The -source argument to javac.

Show more

String

${maven.compiler.source}

sourceDir

File

${project.build.sourceDirectory}

suspend

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug mode. This parameter supports the following values (all the allowed values are case-insensitive): Value Effect y or true The debug mode JVM launch is suspended n or false The debug mode JVM is started without suspending

Show more

String

${suspend}

systemProperties

Map

target

The -target argument to javac.

Show more

String

${maven.compiler.target}

quarkus.warnIfBuildGoalMissing

boolean

workingDir

File

quarkus:track-config-changes

Maven goal that is executed before the BuildMojo. The goal looks for a file that contains build time configuration options read during the previous build. If that file exists, the goal will check whether the configuration options used during the previous build have changed in the current configuration and will persist their current values to another file, so that both configuration files could be compared by tools caching build goal outcomes to check whether the previous outcome of the BuildMojo needs to be rebuilt.

Parameter

Type

Default value

appArtifact

Coordinates of the Maven artifact containing the original Java application to build the native image for. If not provided, the current project is assumed to be the original Java application. The coordinates are expected to be expressed in the following format:

groupId:artifactId:classifier:type:version

With the classifier, type and version being optional.

If the type is missing, the artifact is assumed to be of type JAR.

If the version is missing, the artifact is going to be looked up among the project dependencies using the provided coordinates.

However, if the expression consists of only three parts, it is assumed to be groupId:artifactId:version.

If the expression consists of only four parts, it is assumed to be groupId:artifactId:classifier:type.

Show more

String

bootstrapId

Application bootstrap provider ID. This parameter is not supposed to be configured by the user. To be able to re-use an application bootstrapped in one phase in a later phase, there needs to be a way to identify the correct instance of the bootstrapped application (in case there are more than one) in each Mojo. A bootstrap ID serves this purpose. This parameter is set in DevMojo invoking generate-code and generate-code-tests goals. If this parameter is not configured, a Mojo execution ID will be used as the bootstrap ID.

Show more

String

buildDir

File

${project.build.directory}

quarkusCloseBootstrappedApp

Whether to close the bootstrapped applications after the execution

Show more

Boolean

quarkus.track-config-changes.dependencies-file

Dependency dump file

Show more

File

quarkus.track-config-changes.dump-current-when-recorded-unavailable

Whether to dump the current build configuration in case the configuration from the previous build isn’t found

Show more

boolean

false

quarkus.track-config-changes.dump-dependencies

Whether to dump Quarkus application dependencies along with their checksums

Show more

boolean

true

finalName

String

${project.build.finalName}

ignoredEntries

When building an uber-jar, this array specifies entries that should be excluded from the final jar. The entries are relative to the root of the file. An example of this configuration could be: <configuration> <uberJar>true</uberJar> <ignoredEntries> <ignoredEntry>META-INF/BC2048KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC2048KE.DSA</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.SF</ignoredEntry> <ignoredEntry>META-INF/BC1024KE.DSA</ignoredEntry> </ignoredEntries> </configuration>

Show more

String[]

manifestEntries

The list of main manifest attributes

Show more

Map

manifestSections

The list of manifest sections

Show more

List

launchMode

String

mojoExecution

The context of the execution of the plugin.

Show more

MojoExecution (required)

${mojoExecution}

quarkus.track-config-changes.outputDirectory

File

${project.build.directory}

quarkus.track-config-changes.outputFile

File

project

MavenProject (required)

${project}

properties

The properties of the plugin.

Show more

Map

quarkus.recorded-build-config.directory

File

${basedir}/.quarkus

quarkus.recorded-build-config.file

File

repoSession

The current repository/network configuration of Maven.

Show more

RepositorySystemSession

${repositorySystemSession}

repos

The project’s remote repositories to use for the resolution of artifacts and their dependencies.

Show more

List (required)

${project.remoteProjectRepositories}

session

MavenSession

${session}

quarkus.track-config-changes.skip

Skip the execution of this mojo

Show more

boolean

false

quarkus:update

Log Quarkus-related recommended updates, such as new Quarkus platform BOM versions and Quarkus extensions versions that aren’t managed by the Quarkus platform BOMs.

Parameter

Type

Default value

bomArtifactId

String

bomGroupId

String

bomVersion

String

mavenSession

MavenSession

${session}

noRewrite

Disable the rewrite feature.

Show more

Boolean

false

perModule

Display information per project module.

Show more

boolean

platformVersion

Version of the target platform (e.g: 2.0.0.Final) You may instead use stream to target the latest version of a specific platform stream.

Show more

String

project

MavenProject

${project}

repoSession

RepositorySystemSession

${repositorySystemSession}

repos

List (required)

${project.remoteProjectRepositories}

additionalUpdateRecipes

Specify a list of additional artifacts (GAV) containing rewrite recipes

Show more

String

rewriteDryRun

Rewrite in dry-mode.

Show more

Boolean

false

rewritePluginVersion

The OpenRewrite plugin version

Show more

String

quarkusUpdateRecipes

Use custom io.quarkus:quarkus-update-recipes:LATEST coords (GAV) or just provide the version. This artifact should contain the base Quarkus update recipes to update a project.

Show more

String

session

MavenSession

${session}

stream

Target stream (e.g: 2.0)

Show more

String

Related content