Back to Guides

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

String

String

String

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

String

The list of extensions to be added.

Set

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

String

String

String

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

String

The list of extensions to be added.

Set

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

String

${class}

String

${method}

File

${project.build.directory}/reports

quarkus:build

Builds the Quarkus application.

Parameter

Type

Default

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.

String

File

${project.build.directory}

Whether to close the bootstrapped applications after the execution

boolean

String

${project.build.finalName}

The directory for generated source files.

File

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

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

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

List

${project.remotePluginRepositories}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skips the execution of this mojo

boolean

false

boolean

false

The list of system properties defined for the plugin.

Map

quarkus:create

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

Parameter

Type

Default

String

Artifact ID of the target platform BOM

String

Group ID of the target platform BOM

String

Version of the target platform BOM

String

String

MAVEN

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

String

String

String

Set

String

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

boolean

false

File

${basedir}

Set the package name of the generated classes. If not set, project-group-id will be used as package-name packageName

String

The path will define the REST path of the generated code when picking only one of those extensions resteasy, resteasy-reactive 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

String

MavenProject

${project}

String

String

String

String

String

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

MavenSession

${session}

quarkus:create-extension

Creates the base of a Quarkus Extension 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

Used to detect legacy command usage and display an error

String

Directory where the changes should be performed.

Default: the current directory of the current Java process.

File

The extensionDescription of the runtime module.

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

String

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).

String

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

Default: the formatted extensionId

String

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

String

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

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

String

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

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

String

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

Default: auto-generated out of group-id, namespace-id and extension-id

String

MavenProject

${project}

The artifactId of the Quarkus platform BOM.

Default: CreateExtension#DEFAULT_BOM_ARTIFACT_ID

String

The groupId of the Quarkus platform BOM.

Default: CreateExtension#DEFAULT_BOM_GROUP_ID

String

The version of the Quarkus platform BOM.

Default: CreateExtension#DEFAULT_BOM_VERSION

String

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

String

MavenSession

${session}

The version for the newly created Maven modules.

Default: automatic in Quarkus Core else CreateExtension#DEFAULT_VERSION

String

Indicates whether to generate an extension codestart

boolean

false

Indicates whether to generate a devmode test for the extension

boolean

false

Indicates whether to generate an integration tests for the extension

boolean

false

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

boolean

false

Indicates whether to generate a unit test class for the extension

boolean

false

quarkus:create-jbang

Parameter

Type

Default

Artifact ID of the target platform BOM

String

Group ID of the target platform BOM

String

Version of the target platform BOM

String

Set

String

boolean

false

File

${basedir}/jbang-with-quarkus

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

quarkus:dependency-tree

Displays Quarkus application build dependency tree including the deployment ones.

Parameter

Type

Default

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

boolean

false

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.

String

prod

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

File

MavenProject

${project}

List

${project.remoteProjectRepositories}

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

String

${quarkus.args}

File

${project.build.directory}

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

List

Additional compiler arguments

List

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.

String

${debug}

String

${debugHost}

String

${debugPort}

boolean

TRUE

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.

boolean

${quarkus.enforceBuildGoal}

Map

String

${jvm.args}

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

List

${add-modules}

MojoExecution

${mojoExecution}

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.

boolean

${noDeps}

boolean

${open-lang-package}

The directory for compiled classes.

File

${project.build.outputDirectory}

List

${project.remotePluginRepositories}

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)

boolean

${preventnoverify}

MavenProject

${project}

The --release argument to javac.

String

${maven.compiler.release}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

MavenSession

${session}

The -source argument to javac.

String

${maven.compiler.source}

File

${project.build.sourceDirectory}

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug 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

String

${suspend}

Map

The -target argument to javac.

String

${maven.compiler.target}

File

quarkus:generate-code

Parameter

Type

Default

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.

String

File

${project.build.directory}

Whether to close the bootstrapped applications after the execution

boolean

String

${project.build.finalName}

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

String

NORMAL

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skip the execution of this mojo

boolean

false

quarkus:generate-code-tests

Parameter

Type

Default

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.

String

File

${project.build.directory}

Whether to close the bootstrapped applications after the execution

boolean

String

${project.build.finalName}

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

String

NORMAL

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skip the execution of this mojo

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

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

If true, display all settable properties for each goal.

boolean

false

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

String

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

int

2

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

int

80

quarkus:image-build

Builds a container image.

Parameter

Type

Default

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.

String

File

${project.build.directory}

Builder

docker

Whether to close the bootstrapped applications after the execution

boolean

boolean

false

String

${project.build.finalName}

The directory for generated source files.

File

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

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

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

List

${project.remotePluginRepositories}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skips the execution of this mojo

boolean

false

boolean

false

The list of system properties defined for the plugin.

Map

quarkus:image-push

Pushes a container image.

Parameter

Type

Default

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.

String

File

${project.build.directory}

Builder

docker

Whether to close the bootstrapped applications after the execution

boolean

boolean

false

String

${project.build.finalName}

The directory for generated source files.

File

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

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

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

List

${project.remotePluginRepositories}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skips the execution of this mojo

boolean

false

boolean

false

The list of system properties defined for the plugin.

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

String

String

String

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

boolean

false

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

quarkus:list-categories

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

Parameter

Type

Default

String

String

String

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

String

concise

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

all

List all extensions or just the installable.

boolean

true

String

String

String

Only list extensions from given category.

String

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

String

concise

List the already installed extensions

boolean

false

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

String

quarkus:list-platforms

List imported and optionally other platforms available for the project.

Parameter

Type

Default

String

String

String

List the already installed extensions

boolean

false

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

quarkus:prepare

Parameter

Type

Default

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.

String

File

${project.build.directory}

Whether to close the bootstrapped applications after the execution

boolean

String

${project.build.finalName}

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

String

NORMAL

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skip the execution of this mojo

boolean

false

quarkus:prepare-tests

Parameter

Type

Default

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.

String

File

${project.build.directory}

Whether to close the bootstrapped applications after the execution

boolean

String

${project.build.finalName}

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> `

java.lang.String[]

The list of main manifest attributes

Map

The list of manifest sections

List

String

NORMAL

The context of the execution of the plugin.

MojoExecution

${mojoExecution}

MavenProject

${project}

The properties of the plugin.

Map

The current repository/network configuration of Maven.

RepositorySystemSession

${repositorySystemSession}

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

List

${project.remoteProjectRepositories}

MavenSession

${session}

Skip the execution of this mojo

boolean

false

quarkus:remote-dev

The dev mojo, that connects to a remote host.

Parameter

Type

Default

String

${quarkus.args}

File

${project.build.directory}

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

List

Additional compiler arguments

List

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.

String

${debug}

String

${debugHost}

String

${debugPort}

boolean

TRUE

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.

boolean

${quarkus.enforceBuildGoal}

Map

String

${jvm.args}

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

List

${add-modules}

MojoExecution

${mojoExecution}

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.

boolean

${noDeps}

boolean

${open-lang-package}

The directory for compiled classes.

File

${project.build.outputDirectory}

List

${project.remotePluginRepositories}

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)

boolean

${preventnoverify}

MavenProject

${project}

The --release argument to javac.

String

${maven.compiler.release}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

MavenSession

${session}

The -source argument to javac.

String

${maven.compiler.source}

File

${project.build.sourceDirectory}

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug 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

String

${suspend}

Map

The -target argument to javac.

String

${maven.compiler.target}

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

String

String

String

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

String

The list of extensions to be removed.

Set

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

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

String

String

String

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

String

The list of extensions to be removed.

Set

MavenProject

${project}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

quarkus:test

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

Parameter

Type

Default

String

${quarkus.args}

File

${project.build.directory}

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

List

Additional compiler arguments

List

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.

String

${debug}

String

${debugHost}

String

${debugPort}

boolean

TRUE

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.

boolean

${quarkus.enforceBuildGoal}

Map

String

${jvm.args}

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

List

${add-modules}

MojoExecution

${mojoExecution}

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.

boolean

${noDeps}

boolean

${open-lang-package}

The directory for compiled classes.

File

${project.build.outputDirectory}

List

${project.remotePluginRepositories}

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)

boolean

${preventnoverify}

MavenProject

${project}

The --release argument to javac.

String

${maven.compiler.release}

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}

MavenSession

${session}

The -source argument to javac.

String

${maven.compiler.source}

File

${project.build.sourceDirectory}

Whether the JVM launch, in debug mode, should be suspended. This parameter is only relevant when the JVM is launched in debug 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

String

${suspend}

Map

The -target argument to javac.

String

${maven.compiler.target}

File

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

String

String

String

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

boolean

false

MavenProject

${project}

If true, the state of the project will be logged as if the recommended updates were applied

boolean

false

If true, instead of checking and recommending the latest available Quarkus platform version, recommendations to properly align the current project configuration will be logged (if any)

boolean

false

RepositorySystemSession

${repositorySystemSession}

List

${project.remoteProjectRepositories}