© 2019 The original authors.

1. Introduction

The WildFly JAR Maven plugin is aimed to build a bootable JAR for WildFly (starting version 20.0.0.Final). A WildFly bootable JAR contains both the server and your packaged application (a JAR, an EAR or a WAR). Once the application has been built and packaged as a bootable JAR, you can start the application using the following command:

java -jar target/myapp-bootable.jar

The --help argument displays the list of the supported arguments:

java -jar target/myapp-bootable.jar --help

A WildFly bootable JAR behaves in a way that is similar to a WildFly server installed on file system:

  • It supports the main standalone server startup arguments.

  • It can be administered/monitored using WildFly CLI.

Some limitations exist:

  • The server can’t be re-started automatically during a shutdown. The bootable JAR process will exit without restarting.

  • Management model changes (eg: using WildFly CLI) are not persisted. Once the server is killed, management updates are lost.

  • Server can’t be started in admin mode.

NB: When started, the bootable JAR installs a WildFly server in the TEMP directory. The bootable JAR displayed traces contain the actual path to this transient installation. This installation is deleted when the bootable JAR process exits.

2. Examples

The examples directory contains Maven example projects that highlight various usages of the WildFly bootable JAR. Build and run these projects to familiarize yourself with the Maven plugin. A good example to start with is the jaxrs example.

Some of these examples are targeting deployment of the bootable JAR in OpenShift. For example: microprofile-config, postgresql and jkube.

Deployment inside a JIB container is covered by jib example and examples/jib-* projects.

2.1. Downloading the examples

3. Composing custom server with Galleon layers

When building a bootable JAR you have the ability to select the set of WildFly Galleon layers you want to see present in the bootable JAR. Selecting a subset of server features has an impact on the server xml configuration and the set of installed JBoss modules. By selecting the subset required by your application you will reduce the JAR size, server configuration content and memory footprint.

You are not limited to the WildFly Galleon layers, you can combine other third parties Galleon layers compatible with WildFly (eg: WildFly database drivers and datasources layers). The example postgresql shows how to create a cloud-server with support for postgresql database.

3.1. Specifying the WildFly server version to use

You need to provide a reference to the WildFly Galleon producer that contains the layers you want to use. This can be done in 3 ways.

3.1.1. Providing WildFly Galleon feature-pack location

That is the simplest way to reference a WildFly server. The configuration element feature-pack-location contains this information.

Some examples:

  • To provision a WildFly 21 server:

<feature-pack-location>wildfly@maven(org.jboss.universe:community-universe)#21.0.0.Final</feature-pack-location>
  • To provision the latest WildFly server:

<feature-pack-location>wildfly@maven(org.jboss.universe:community-universe)</feature-pack-location>

3.1.2. Providing a list of Galleon feature-packs

In some cases you will want to combine Galleon layers from multiple sources. In this case you will use the feature-packs configuration element that contains a list of feature-packs. For example, to provision Galleon layers from WildFly 21 and WildFly extras datasources you would provide:

<feature-packs>
    <feature-pack>
        <location>wildfly@maven(org.jboss.universe:community-universe)#21.0.0.Final</location>
    </feature-pack>
    <feature-pack>
        <groupId>org.wildfly</groupId>
        <artifactId>wildfly-datasources-galleon-pack</artifactId>
        <version>1.0.6.Final</version>
    </feature-pack>
</feature-packs>

NB: The list of feature-packs can’t be used in conjunction with feature-pack-location element.

3.1.3. Providing a Galleon provisioning.xml file

For advanced use cases you can fully control the Galleon provisioning by defining the file galleon/provisioning.xml. galleon directory must be located in the root directory of your Maven project. A custom file location can be set thanks to the provisioning-file plugin option.

3.2. Specifying the set of Galleon layers to use

If no Galleon layers are provided, a microprofile standalone server (with a configuration identical to the default standalone-microprofile.xml configuration) is provisioned and packaged in the bootable JAR. In order to reduce the server content to your application needs, use the layers configuration element.

For example, to provision a server containing jaxrs and management support:

<layers>
    <layer>jaxrs</layer>
    <layer>management</layer>
</layers>

3.3. Excluding Galleon layers

In order to exclude layers that are not strictly required, use the excluded-layers configuration element.

For example, jaxrs layer (that depends on web-server layer) brings the deployment scanner. The deployment scanner being an optional dependency of the web-server layer it can be excluded:

<excluded-layers>
    <layer>deployment-scanner</layer>
</excluded-layers>

4. URL context path of deployed application

By default, a WAR deployed inside a bootable JAR is located in the root context ('/'). This can be changed to the WAR file name by using the context-root configuration element.

5. Hollow bootable JAR

If your use-case requires it, you can create a bootable JAR that doesn’t contain a deployment. It can be handy to re-use a bootable JAR artifact with various deployments. Use the hollow-jar configuration element to create an hollow JAR.

The example hollow-jar shows how to build an hollow JAR.

When starting an hollow JAR you can provide the path to a deployment you want to see deployed inside the server. For example:

java -jar target/jaxrs-hollow-server-bootable.jar --deployment=path/to/my-jaxrs-app.war

NB: In order to have your deployment be located in the root context, name the WAR file ROOT.war.

6. Configuring the server during packaging

In addition to Galleon layers that you can use to configure the server, you can fine tune the server during packaging.

The Maven plugin allows you to:

  • Run WildFly CLI scripts (see logging example to configure loggers).

  • Add extra content that you want to see packaged in the server (eg: standalone/configuration/application-users.properties, standalone/configuration/keystore.jks, …​). The example https shows how to package a keystore file in the bootable JAR.

NB: The configuration changes applied during packaging are persisted in the server configuration.

Using a log4j appender as a custom-handler in the logging subsystem is not supported with the bootable JAR. This only applies to custom handlers defined on the root of the logging subsystem. Logging profiles and log4j configuration files located in your deployment will still work as expected.

You can workaround this by supplying your own logging.properties and defining the path in the boot-logging-config configuration property. An example can be seen in the logging-log4j-appender example project.

6.1. WildFly CLI execution during packaging

Part of WildFly CLI command line tool has been integrated in the Maven plugin. The plugin supports execution of CLI script files with a limited set of CLI configuration items.

CLI script files are text files that contain a sequence of WildFly CLI commands. Commands can be CLI defined commands (some builtin commands allowing to achieve complex sequence of server operations) and generic management operations to be sent to the server. Some examples can be found in WildFly administration guide CLI recipes chapter.

In the context of Bootable JAR, the script does not need to contain commands to connect to the server or start an embedded server. The Maven plugin handles that for you by starting an embedded server for each group of scripts.

The plugin allows you to execute multiple group of scripts with different CLI contexts. A group of scripts and its configuration are defined in a cli-session composed of:

  • <script-files>: the list of paths to script files .

  • properties-file: (optional) a path to a properties file that contains java properties that scripts can reference (using the syntax ${my.prop}). For example, a command that sets the public inet-address to the value of all.addresses system property looks like: /interface=public:write-attribute(name=inet-address,value=${all.addresses})

  • resolve-expressions: (optional) a boolean indicating if system properties or expressions are resolved before sending the operation requests to the server. Value is true by default.

All scripts present in a cli-session are executed within a single CLI execution. An embedded server is started for each defined cli-session.

NB: The scripts are executed in the order they are defined in the plugin configuration.

CLI configuration example:

<cli-sessions>
  <cli-session>
    <script-files>
        <script>../scripts/script1.cli</script>
    </script-files>
    <!-- We want the env variables to be resolved during server execution -->
    <resolve-expressions>false</resolve-expressions>
  </cli-session>
  <cli-session>
    <script-files>
        <script>../scripts/script2.cli</script>
    </script-files>
    <properties-file>../scripts/cli.properties</properties-file>
    <!-- We want the properties to be resolved during CLI execution (not actually needed, this is the default behavior) -->
    <resolve-expressions>true</resolve-expressions>
  </cli-session>
</cli-sessions>

7. Configuring the server for cloud execution

The configuration item <cloud></cloud> allows to build a bootable JAR for cloud environment. By default the server is configured to run inside an OpenShift context. Set the cloud child element <type>openshift|kubernetes</type> to select the targeted cloud platform.

The sever configuration is updated in order to properly operate in a cloud environment:

  • If no Galleon layers are provisioned, the provisioned configuration is standalone-microprofile-ha.xml instead of standalone-microprofile.xml.

  • The microprofile-health and core-tools (that contains WildFly CLI) Galleon layers are provisioned. They are required for the OpenShift probes and WildFly OpenShift Operator to properly operate.

  • The public and private inet addresses are bound to the value of the HOSTNAME environment variable if defined (defined in OpenShift PODS).

  • The management inet address is bound to the 0.0.0.0 inet address allowing for local (required by WildFly CLI) and remote access (required by OpenShift readiness and liveness probes).

  • The http and https socket-bindings are bound to 0.0.0.0 inet address.

  • The transaction subsystem id is set to the value of jboss.node.name.

  • The jboss.node.name system propery, if not set, is set to the value of HOSTNAME environment variable if defined (defined in OpenShift PODS). The node name value is truncated to a max of 23 characters in order for the transaction subsystem to properly operate. The last 23 characters are taken into account.

  • The server logs are printed to the console.

  • jgroups subsystem is configured to use kubernetes.KUBE_PING jgroups protocol for both tcp (default stack) and udp. PING and MPING protocols are removed.

  • It is possible to configure jgroups to use un-encrypted password authentication. Set the <cloud> child element <enable-jgroups-password>true|false</enable-jgroups-password> to enable authentication. NB: When authentication is enabled, the environment variable JGROUPS_CLUSTER_PASSWORD must be set.

Some examples:

Configure for OpenShift execution:

<cloud/>

Configure for OpenShift execution with jgroups authentication enabled:

<cloud>
  <enable-jgroups-password>true</enable-jgroups-password>
</cloud>

Configure for kubernetes execution:

<cloud>
  <type>kubernetes</type>
</cloud>

7.1. OpenShift Deployment using Eclipse JKube

JKube Maven plugin contains support for WildFly bootable JAR. The jkube example shows how to combine WildFly bootable JAR and JKube Maven plugins in order to deploy an application on OpenShift.

7.2. WildFly OpenShift Operator

The WildFly OpenShift Operator can be used to manage deployments based on image containing a WildFly bootable JAR. At boot time, the WildFly bootable JAR dumps in the file /opt/jboss/container/wildfly-bootable-jar/install-dir its installation path. This information is required by the WildFly OpenShift Operator to retrieve transaction logs and call into WildFly CLI.

When deploying WildFly bootable JAR using openjdk image it is strongly advised to set GC_MAX_METASPACE_SIZE=256 and `GC_METASPACE_SIZE=96`environment variables.

8. Configuring the server at runtime

The server can be configured using WildFly management tooling (WildFly CLI, HAL web console, …​).

In an OpenShift context, the WildFly CLI tool can be retrieved in the bootable JAR installation directory (advertised in the /opt/jboss/container/wildfly-bootable-jar/install-dir file).

NB: Configuration changes are not persisted. Once the server is killed, management updates are lost.

9. Other Maven plugin goals

In addition the main package goal used to build a bootable JAR, the following goals are available:

  • dev: To build a bootable JAR in 'dev' mode.

  • run: To launch the bootable JAR foreground (blocking).

  • start: To launch the bootable JAR in background (non blocking).

  • shutdown: To kill a running bootable JAR.

In order to shutdown a running bootable JAR (started with 'start' or 'dev' goals), the 'management' Galleon layer must have been provisioned. That is required for the plugin to be able to access the running server management interface. If that is not the case, the server would have to be killed.

Check the Maven plugin documentation for an exhaustive list of configuration elements usable with each goal.

10. Development mode (dev mode)

When packaging a bootable JAR, a WildFly server is provisioned and customization (if any) is applied. Rebuilding a bootable JAR each time is time consuming and slows down the application development process. In order to speed-up the development of your application, the Maven plugin offers a dev goal that builds and starts the bootable JAR only once.

The workflow to follow during development is:

  • mvn wildfly-jar:dev

    • The plugin builds an hollow server bootable JAR and starts it. The server uses the deployment scanner to monitor the target/deployments directory in which your application will be copied during packaging.

  • mvn package -Ddev

    • Note the -Ddev system property passed to the package goal. This informs the plugin to skip creation of the bootable JAR and to copy your application to target/deployments directory. The running server detects the application and deploys it.

  • Do changes in your application code.

  • mvn package -Ddev

    • Once your application is built, the plugin copies it to the target/deployments directory. The running server detects the updated application and re-deploys it.

  • When done, kill the server: mvn wildfly-jar:shutdown

  • When you are done with your application, create the final packaging by calling: mvn package

NB: Although the dev mode relies on the deployment scanner, you can safely exclude it from the set of layers. The Maven plugin forces its presence when the server is started in dev mode.

11. Enabling debug

You can enable debug by passing the -agentlib:jdwp argument, for example:

java -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n -jar myapp-bootable.jar

When using 'dev', 'run' or 'start' goals you can set the jvmArguments configuration element to contain the same argument, for example:

<configuration>
  <jvmArguments>
    <arg>-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n</arg>
  </jvmArguments>
</configuration>

11.1. Enable Debug for Openshift

When using the registry.redhat.io/ubi8/openjdk-11 docker image to run a bootable JAR, you must set the following env variables to enable debug:

  • JAVA_DEBUG=true

  • JAVA_DEBUG_PORT=8787

Then enable port forwarding:

  • oc get pods

  • oc port-forward <pod name> 8787:8787

Finally, you can attach your debugger to 127.0.0.1:8787

12. Advanced usages

12.1. Provisioning a slim bootable JAR

A slim bootable JAR is a JAR that doesn’t contain JBoss modules JAR files. The JBoss modules JAR files are retrieved from the local Maven repository. Such slim bootable JAR is much smaller and starts faster.

To enable slim bootable JAR use the plugin-options configuration element and add to it the jboss-maven-dist element. For example:

<plugin-options>
    <jboss-maven-dist/>
</plugin-options>

When running a slim bootable JAR, the default local Maven repository is used to resolve JBoss modules artifacts (in your development environment it shouldn’t require special setup to start the bootable JAR).

This can be overridden by using the -Dmaven.repo.local=<path to repository> when launching the server, for example:

java -Dmaven.repo.local=/opt/maven/maven-repo -jar jaxrs-bootable.jar

12.1.1. Generating a Maven local repository during packaging

The Maven plugin can generate a Maven repository directory containing all the JBoss modules artifacts required by the slim bootable JAR. The generated Maven repository allows to run a slim bootable JAR in a context were no local Maven cache is present.

To enable slim bootable JAR Maven repository generation, use the plugin-options configuration element and add to it the jboss-maven-dist and jboss-maven-repo elements. For example:

<plugin-options>
    <jboss-maven-dist/>
    <jboss-maven-repo>target/my-maven-repo</jboss-maven-repo>
</plugin-options>

In this example, the directory <project directory>/target/my-maven-repo is created and contains the set of JBoss modules JAR required to start the server.

The slim example shows how to build a slim bootable JAR and generate a local Maven repository used at startup.

13. Troubleshooting

13.1. Out of Memory error when building

When building a large number of projects in the same Maven session you can encounter OOM error, this can be solved in various ways:

  • You can increase the metaspace size of the Maven execution by setting the MAVEN_OPTS="-XX:MaxMetaspaceSize=<value>" environment variable.

  • Or you can configure the plugin to fork part of its execution in remote processes:

<configuration>
  ...
  <plugin-options>
    <jboss-fork-embedded>true</jboss-fork-embedded>
  </plugin-options>
</configuration>

14. Maven plugin

This chapter is dedicated to the Maven plugin that can be used to build WildFly bootable JAR. Maven coordinates of the Maven plugin artifact are

<dependency>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-jar-maven-plugin</artifactId>
    <version>2.0.0.Final</version>
</dependency>

14.1. Goals overview

dev

Build and start a WildFly bootable JAR for dev mode.

package

Build a WildFly bootable JAR.

run

Run a WildFly bootable JAR (blocking).

shutdown

Shutdown a WildFly bootable JAR.

start

Start a WildFly bootable JAR (non blocking).

14.2. dev

14.2.1. wildfly-jar:dev

Full name: org.wildfly.plugins:wildfly-jar-maven-plugin:2.0.0.Final:dev

14.2.2. Description

Build and start a bootable JAR for dev mode. In order to be able to shutdown the server started in 'dev' mode, the 'management' Galleon layer must have been included. If that is not the case, the server would have to be killed.

14.2.3. Attributes

  • Requires a Maven project to be executed.

  • Requires dependency resolution of artifacts in scope: compile+runtime.

  • Binds by default to the lifecycle phase: compile.

Table 1. Optional Parameters

Name

Type

Since

Description

[arguments]

List

-

Bootable JAR server arguments.
Alias is: arguments.

[bootLoggingConfig]

File

-

Overrides the default logging.properties the container uses when booting.
In most cases this should not be required. The use-case is when the generated logging.properties causes boot errors or you do not use the logging subsystem and would like to use a custom logging configuration.
An example of a boot error would be using a log4j appender as a custom-handler. If the file is not absolute, it has to be relative to the project base directory.
User property is: wildfly.bootable.logging.config.
Alias is: boot-logging-config.

[bootableJarBuildArtifacts]

String

-

By default, when building a bootable JAR, the plugin extracts build artifacts in the directory 'bootable-jar-build-artifacts'. You can use this property to change this directory name. In most cases this should not be required. The use-case is when building multiple bootable JARs in the same project on Windows Platform. In this case, each execution should have its own directory, the plugin being unable to delete the directory due to some references to JBoss module files.
Default value is: bootable-jar-build-artifacts.
User property is: wildfly.bootable.jar.build.artifacts.
Alias is: bootable-jar-build-artifacts.

[cliSessions]

List

-

List of CLI execution sessions. An embedded server is started for each CLI session. If a script file is not absolute, it has to be relative to the project base directory. CLI session are configured in the following way:
<cli-sessions>
<cli-session>
<script-files>
<script>../scripts/script1.cli</script>
</script-files>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</cli-session>
<cli-session>
<script-files>
<script>../scripts/script2.cli</script>
</script-files>
<properties-file>../scripts/cli.properties</properties-file>
</cli-session>
</cli-sessions>
Alias is: cli-sessions.

[contextRoot]

boolean

-

To make the WAR deployment registered under root resource path ('/').
Default value is: true.
User property is: wildfly.bootable.context.root.
Alias is: context-root.

[displayCliScriptsOutput]

boolean

-

By default executed CLI scripts output is not shown if execution is successful. In order to display the CLI output, set this option to true.
Alias is: display-cli-scripts-output.

[excludedLayers]

List

-

A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set.
Alias is: excluded-layers.

[extraServerContent]

List

-

A list of directories to copy content to the provisioned server. If a directory is not absolute, it has to be relative to the project base directory.
User property is: wildfly.bootable.package.extra.server.content.dirs.
Alias is: extra-server-content-dirs.

[featurePackLocation]

String

-

The WildFly Galleon feature-pack location to use if no provisioning.xml file found. Can’t be used in conjunction with feature-packs.
User property is: wildfly.bootable.fpl.
Alias is: feature-pack-location.

[featurePacks]

List

-

A list of feature-pack configurations to install, can be combined with layers. Overrides galleon/provisioning.xml file. Can’t be used in conjunction with feature-pack-location.
Alias is: feature-packs.

[hollowJar]

boolean

-

Hollow JAR. Create a bootable JAR that doesn’t contain application.
User property is: wildfly.bootable.hollow.
Alias is: hollow-jar.

[jvmArguments]

List

-

Additional JVM options.
Alias is: jvmArguments.

[layers]

List

-

A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set.
Alias is: layers.

[legacyPatchCleanUp]

boolean

-

Set to true to enable patch cleanup. When cleanup is enabled, unused added modules, patched modules original directories, unused overlay directories and .installation/patches directory are deleted.
Default value is: false.
Alias is: legacy-patch-clean-up.

[legacyPatchCliScript]

String

-

Path to a CLI script that applies legacy patches. Content of such script should be composed of 'patch apply [path to zip file] [patch apply options]' commands. Due to the nature of a bootable JAR trimmed with Galleon, part of the content of the patch can be missing. In order to force the patch to apply use the '--override-all' option. The '--distribution' option is not needed, System property 'jboss.home.dir' is automatically set to the server that will be packaged in the bootable JAR. If the script file is not absolute, it has to be relative to the project base directory. NB: The server is patched with a legacy patch right after the server has been provisioned with Galleon.
Alias is: legacy-patch-cli-script.

[logTime]

boolean

-

Whether to log provisioning time at the end
Default value is: false.
Alias is: log-time.

[offline]

boolean

-

Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution.
Default value is: false.
Alias is: offline.

[outputFileName]

String

-

By default the generated JAR is ${project.build.finalName}-bootable.jar
User property is: wildfly.bootable.package.output.file.name.
Alias is: output-file-name.

[pluginOptions]

Map

-

Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of bootable JAR in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:
<plugin-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</plugin-options>
Alias is: plugin-options.

[projectBuildDir]

String

-

Project build dir.
Default value is: ${project.build.directory}.

[provisioningFile]

File

-

The path to the provisioning.xml file to use. Note that this cannot be used with the feature-packs or layers configuration parameters. If the provisioning file is not absolute, it has to be relative to the project base directory.
Default value is: ${project.basedir}/galleon/provisioning.xml.
User property is: wildfly.bootable.provisioning.file.
Alias is: provisioning-file.

[recordState]

boolean

-

Whether to record provisioned state in .galleon directory.
Default value is: false.
Alias is: record-state.

[skip]

boolean

-

Set to true if you want the deployment to be skipped, otherwise false.
Default value is: false.
User property is: wildfly.bootable.package.skip.

14.2.4. Parameter Details

arguments
Bootable JAR server arguments.

  • Type: java.util.List

  • Required: No

  • Alias: arguments

bootLoggingConfig
Overrides the default logging.properties the container uses when booting.
In most cases this should not be required. The use-case is when the generated logging.properties causes boot errors or you do not use the logging subsystem and would like to use a custom logging configuration.
An example of a boot error would be using a log4j appender as a custom-handler. If the file is not absolute, it has to be relative to the project base directory.

  • Type: java.io.File

  • Required: No

  • User Property: wildfly.bootable.logging.config

  • Alias: boot-logging-config

bootableJarBuildArtifacts
By default, when building a bootable JAR, the plugin extracts build artifacts in the directory 'bootable-jar-build-artifacts'. You can use this property to change this directory name. In most cases this should not be required. The use-case is when building multiple bootable JARs in the same project on Windows Platform. In this case, each execution should have its own directory, the plugin being unable to delete the directory due to some references to JBoss module files.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.jar.build.artifacts

  • Default: bootable-jar-build-artifacts

  • Alias: bootable-jar-build-artifacts

cliSessions
List of CLI execution sessions. An embedded server is started for each CLI session. If a script file is not absolute, it has to be relative to the project base directory. CLI session are configured in the following way:
<cli-sessions>
<cli-session>
<script-files>
<script>../scripts/script1.cli</script>
</script-files>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</cli-session>
<cli-session>
<script-files>
<script>../scripts/script2.cli</script>
</script-files>
<properties-file>../scripts/cli.properties</properties-file>
</cli-session>
</cli-sessions>

  • Type: java.util.List

  • Required: No

  • Alias: cli-sessions

contextRoot
To make the WAR deployment registered under root resource path ('/').

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.context.root

  • Default: true

  • Alias: context-root

displayCliScriptsOutput
By default executed CLI scripts output is not shown if execution is successful. In order to display the CLI output, set this option to true.

  • Type: boolean

  • Required: No

  • Alias: display-cli-scripts-output

excludedLayers
A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set.

  • Type: java.util.List

  • Required: No

  • Alias: excluded-layers

extraServerContent
A list of directories to copy content to the provisioned server. If a directory is not absolute, it has to be relative to the project base directory.

  • Type: java.util.List

  • Required: No

  • User Property: wildfly.bootable.package.extra.server.content.dirs

  • Alias: extra-server-content-dirs

featurePackLocation
The WildFly Galleon feature-pack location to use if no provisioning.xml file found. Can’t be used in conjunction with feature-packs.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.fpl

  • Alias: feature-pack-location

featurePacks
A list of feature-pack configurations to install, can be combined with layers. Overrides galleon/provisioning.xml file. Can’t be used in conjunction with feature-pack-location.

  • Type: java.util.List

  • Required: No

  • Alias: feature-packs

hollowJar
Hollow JAR. Create a bootable JAR that doesn’t contain application.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.hollow

  • Alias: hollow-jar

jvmArguments
Additional JVM options.

  • Type: java.util.List

  • Required: No

  • Alias: jvmArguments

layers
A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set.

  • Type: java.util.List

  • Required: No

  • Alias: layers

legacyPatchCleanUp
Set to true to enable patch cleanup. When cleanup is enabled, unused added modules, patched modules original directories, unused overlay directories and .installation/patches directory are deleted.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: legacy-patch-clean-up

legacyPatchCliScript
Path to a CLI script that applies legacy patches. Content of such script should be composed of 'patch apply [path to zip file] [patch apply options]' commands. Due to the nature of a bootable JAR trimmed with Galleon, part of the content of the patch can be missing. In order to force the patch to apply use the '--override-all' option. The '--distribution' option is not needed, System property 'jboss.home.dir' is automatically set to the server that will be packaged in the bootable JAR. If the script file is not absolute, it has to be relative to the project base directory. NB: The server is patched with a legacy patch right after the server has been provisioned with Galleon.

  • Type: java.lang.String

  • Required: No

  • Alias: legacy-patch-cli-script

logTime
Whether to log provisioning time at the end

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: log-time

offline
Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: offline

outputFileName
By default the generated JAR is ${project.build.finalName}-bootable.jar

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.package.output.file.name

  • Alias: output-file-name

pluginOptions
Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of bootable JAR in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:
<plugin-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</plugin-options>

  • Type: java.util.Map

  • Required: No

  • Alias: plugin-options

projectBuildDir
Project build dir.

  • Type: java.lang.String

  • Required: No

  • Default: ${project.build.directory}

provisioningFile
The path to the provisioning.xml file to use. Note that this cannot be used with the feature-packs or layers configuration parameters. If the provisioning file is not absolute, it has to be relative to the project base directory.

  • Type: java.io.File

  • Required: No

  • User Property: wildfly.bootable.provisioning.file

  • Default: ${project.basedir}/galleon/provisioning.xml

  • Alias: provisioning-file

recordState
Whether to record provisioned state in .galleon directory.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: record-state

skip
Set to true if you want the deployment to be skipped, otherwise false.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.package.skip

  • Default: false

14.3. package

14.3.1. wildfly-jar:package

Full name: org.wildfly.plugins:wildfly-jar-maven-plugin:2.0.0.Final:package

14.3.2. Description

Build a bootable JAR containing application and provisioned server

14.3.3. Attributes

  • Requires a Maven project to be executed.

  • Requires dependency resolution of artifacts in scope: compile+runtime.

  • Binds by default to the lifecycle phase: package.

Table 2. Optional Parameters

Name

Type

Since

Description

[bootLoggingConfig]

File

-

Overrides the default logging.properties the container uses when booting.
In most cases this should not be required. The use-case is when the generated logging.properties causes boot errors or you do not use the logging subsystem and would like to use a custom logging configuration.
An example of a boot error would be using a log4j appender as a custom-handler. If the file is not absolute, it has to be relative to the project base directory.
User property is: wildfly.bootable.logging.config.
Alias is: boot-logging-config.

[bootableJarBuildArtifacts]

String

-

By default, when building a bootable JAR, the plugin extracts build artifacts in the directory 'bootable-jar-build-artifacts'. You can use this property to change this directory name. In most cases this should not be required. The use-case is when building multiple bootable JARs in the same project on Windows Platform. In this case, each execution should have its own directory, the plugin being unable to delete the directory due to some references to JBoss module files.
Default value is: bootable-jar-build-artifacts.
User property is: wildfly.bootable.jar.build.artifacts.
Alias is: bootable-jar-build-artifacts.

[cliSessions]

List

-

List of CLI execution sessions. An embedded server is started for each CLI session. If a script file is not absolute, it has to be relative to the project base directory. CLI session are configured in the following way:
<cli-sessions>
<cli-session>
<script-files>
<script>../scripts/script1.cli</script>
</script-files>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</cli-session>
<cli-session>
<script-files>
<script>../scripts/script2.cli</script>
</script-files>
<properties-file>../scripts/cli.properties</properties-file>
</cli-session>
</cli-sessions>
Alias is: cli-sessions.

[cloud]

CloudConfig

-

To enable cloud support. When cloud support is enabled, the created bootable JAR will operate properly in context such as openshift.
In order to enable authenticated cluster jgroups protocol, set <enable-jgroups-password>true</enable-jgroups-password>. The environment variable JGROUPS_CLUSTER_PASSWORD must then be set to the password value.
Alias is: cloud.

[contextRoot]

boolean

-

To make the WAR deployment registered under root resource path ('/').
Default value is: true.
User property is: wildfly.bootable.context.root.
Alias is: context-root.

[displayCliScriptsOutput]

boolean

-

By default executed CLI scripts output is not shown if execution is successful. In order to display the CLI output, set this option to true.
Alias is: display-cli-scripts-output.

[excludedLayers]

List

-

A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set.
Alias is: excluded-layers.

[extraServerContent]

List

-

A list of directories to copy content to the provisioned server. If a directory is not absolute, it has to be relative to the project base directory.
User property is: wildfly.bootable.package.extra.server.content.dirs.
Alias is: extra-server-content-dirs.

[featurePackLocation]

String

-

The WildFly Galleon feature-pack location to use if no provisioning.xml file found. Can’t be used in conjunction with feature-packs.
User property is: wildfly.bootable.fpl.
Alias is: feature-pack-location.

[featurePacks]

List

-

A list of feature-pack configurations to install, can be combined with layers. Overrides galleon/provisioning.xml file. Can’t be used in conjunction with feature-pack-location.
Alias is: feature-packs.

[hollowJar]

boolean

-

Hollow JAR. Create a bootable JAR that doesn’t contain application.
User property is: wildfly.bootable.hollow.
Alias is: hollow-jar.

[layers]

List

-

A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set.
Alias is: layers.

[legacyPatchCleanUp]

boolean

-

Set to true to enable patch cleanup. When cleanup is enabled, unused added modules, patched modules original directories, unused overlay directories and .installation/patches directory are deleted.
Default value is: false.
Alias is: legacy-patch-clean-up.

[legacyPatchCliScript]

String

-

Path to a CLI script that applies legacy patches. Content of such script should be composed of 'patch apply [path to zip file] [patch apply options]' commands. Due to the nature of a bootable JAR trimmed with Galleon, part of the content of the patch can be missing. In order to force the patch to apply use the '--override-all' option. The '--distribution' option is not needed, System property 'jboss.home.dir' is automatically set to the server that will be packaged in the bootable JAR. If the script file is not absolute, it has to be relative to the project base directory. NB: The server is patched with a legacy patch right after the server has been provisioned with Galleon.
Alias is: legacy-patch-cli-script.

[logTime]

boolean

-

Whether to log provisioning time at the end
Default value is: false.
Alias is: log-time.

[offline]

boolean

-

Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution.
Default value is: false.
Alias is: offline.

[outputFileName]

String

-

By default the generated JAR is ${project.build.finalName}-bootable.jar
User property is: wildfly.bootable.package.output.file.name.
Alias is: output-file-name.

[pluginOptions]

Map

-

Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of bootable JAR in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:
<plugin-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</plugin-options>
Alias is: plugin-options.

[projectBuildDir]

String

-

Project build dir.
Default value is: ${project.build.directory}.

[provisioningFile]

File

-

The path to the provisioning.xml file to use. Note that this cannot be used with the feature-packs or layers configuration parameters. If the provisioning file is not absolute, it has to be relative to the project base directory.
Default value is: ${project.basedir}/galleon/provisioning.xml.
User property is: wildfly.bootable.provisioning.file.
Alias is: provisioning-file.

[recordState]

boolean

-

Whether to record provisioned state in .galleon directory.
Default value is: false.
Alias is: record-state.

[skip]

boolean

-

Set to true if you want the deployment to be skipped, otherwise false.
Default value is: false.
User property is: wildfly.bootable.package.skip.

14.3.4. Parameter Details

bootLoggingConfig
Overrides the default logging.properties the container uses when booting.
In most cases this should not be required. The use-case is when the generated logging.properties causes boot errors or you do not use the logging subsystem and would like to use a custom logging configuration.
An example of a boot error would be using a log4j appender as a custom-handler. If the file is not absolute, it has to be relative to the project base directory.

  • Type: java.io.File

  • Required: No

  • User Property: wildfly.bootable.logging.config

  • Alias: boot-logging-config

bootableJarBuildArtifacts
By default, when building a bootable JAR, the plugin extracts build artifacts in the directory 'bootable-jar-build-artifacts'. You can use this property to change this directory name. In most cases this should not be required. The use-case is when building multiple bootable JARs in the same project on Windows Platform. In this case, each execution should have its own directory, the plugin being unable to delete the directory due to some references to JBoss module files.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.jar.build.artifacts

  • Default: bootable-jar-build-artifacts

  • Alias: bootable-jar-build-artifacts

cliSessions
List of CLI execution sessions. An embedded server is started for each CLI session. If a script file is not absolute, it has to be relative to the project base directory. CLI session are configured in the following way:
<cli-sessions>
<cli-session>
<script-files>
<script>../scripts/script1.cli</script>
</script-files>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</cli-session>
<cli-session>
<script-files>
<script>../scripts/script2.cli</script>
</script-files>
<properties-file>../scripts/cli.properties</properties-file>
</cli-session>
</cli-sessions>

  • Type: java.util.List

  • Required: No

  • Alias: cli-sessions

cloud
To enable cloud support. When cloud support is enabled, the created bootable JAR will operate properly in context such as openshift.
In order to enable authenticated cluster jgroups protocol, set <enable-jgroups-password>true</enable-jgroups-password>. The environment variable JGROUPS_CLUSTER_PASSWORD must then be set to the password value.

  • Type: org.wildfly.plugins.bootablejar.maven.cloud.CloudConfig

  • Required: No

  • Alias: cloud

contextRoot
To make the WAR deployment registered under root resource path ('/').

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.context.root

  • Default: true

  • Alias: context-root

displayCliScriptsOutput
By default executed CLI scripts output is not shown if execution is successful. In order to display the CLI output, set this option to true.

  • Type: boolean

  • Required: No

  • Alias: display-cli-scripts-output

excludedLayers
A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set.

  • Type: java.util.List

  • Required: No

  • Alias: excluded-layers

extraServerContent
A list of directories to copy content to the provisioned server. If a directory is not absolute, it has to be relative to the project base directory.

  • Type: java.util.List

  • Required: No

  • User Property: wildfly.bootable.package.extra.server.content.dirs

  • Alias: extra-server-content-dirs

featurePackLocation
The WildFly Galleon feature-pack location to use if no provisioning.xml file found. Can’t be used in conjunction with feature-packs.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.fpl

  • Alias: feature-pack-location

featurePacks
A list of feature-pack configurations to install, can be combined with layers. Overrides galleon/provisioning.xml file. Can’t be used in conjunction with feature-pack-location.

  • Type: java.util.List

  • Required: No

  • Alias: feature-packs

hollowJar
Hollow JAR. Create a bootable JAR that doesn’t contain application.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.hollow

  • Alias: hollow-jar

layers
A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set.

  • Type: java.util.List

  • Required: No

  • Alias: layers

legacyPatchCleanUp
Set to true to enable patch cleanup. When cleanup is enabled, unused added modules, patched modules original directories, unused overlay directories and .installation/patches directory are deleted.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: legacy-patch-clean-up

legacyPatchCliScript
Path to a CLI script that applies legacy patches. Content of such script should be composed of 'patch apply [path to zip file] [patch apply options]' commands. Due to the nature of a bootable JAR trimmed with Galleon, part of the content of the patch can be missing. In order to force the patch to apply use the '--override-all' option. The '--distribution' option is not needed, System property 'jboss.home.dir' is automatically set to the server that will be packaged in the bootable JAR. If the script file is not absolute, it has to be relative to the project base directory. NB: The server is patched with a legacy patch right after the server has been provisioned with Galleon.

  • Type: java.lang.String

  • Required: No

  • Alias: legacy-patch-cli-script

logTime
Whether to log provisioning time at the end

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: log-time

offline
Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: offline

outputFileName
By default the generated JAR is ${project.build.finalName}-bootable.jar

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.package.output.file.name

  • Alias: output-file-name

pluginOptions
Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of bootable JAR in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example:
<plugin-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</plugin-options>

  • Type: java.util.Map

  • Required: No

  • Alias: plugin-options

projectBuildDir
Project build dir.

  • Type: java.lang.String

  • Required: No

  • Default: ${project.build.directory}

provisioningFile
The path to the provisioning.xml file to use. Note that this cannot be used with the feature-packs or layers configuration parameters. If the provisioning file is not absolute, it has to be relative to the project base directory.

  • Type: java.io.File

  • Required: No

  • User Property: wildfly.bootable.provisioning.file

  • Default: ${project.basedir}/galleon/provisioning.xml

  • Alias: provisioning-file

recordState
Whether to record provisioned state in .galleon directory.

  • Type: boolean

  • Required: No

  • Default: false

  • Alias: record-state

skip
Set to true if you want the deployment to be skipped, otherwise false.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.package.skip

  • Default: false

14.4. run

14.4.1. wildfly-jar:run

Full name: org.wildfly.plugins:wildfly-jar-maven-plugin:2.0.0.Final:run

14.4.2. Description

Run the bootable JAR. This is blocking.

14.4.3. Attributes

  • Requires a Maven project to be executed.

  • Requires dependency resolution of artifacts in scope: runtime.

Table 3. Optional Parameters

Name

Type

Since

Description

[arguments]

List

-

Bootable JAR server arguments.
Alias is: arguments.

[argumentsProps]

String

-

Bootable JAR server arguments that can be set thanks to system property.
User property is: wildfly.bootable.arguments.

[jarFileName]

String

-

In case a custom JAR file name was specified during build, set this option to this JAR file name. That is required for the plugin to retrieve the JAR file to run.
User property is: wildfly.bootable.run.jar.file.name.
Alias is: jar-file-name.

[jvmArguments]

List

-

Additional JVM options.
Alias is: jvmArguments.

[jvmArgumentsProps]

String

-

Additional JVM options that can be set thanks to system property.
User property is: wildfly.bootable.jvmArguments.

[skip]

boolean

-

Set to true if you want the run goal to be skipped, otherwise false.
Default value is: false.
User property is: wildfly.bootable.run.skip.

14.4.4. Parameter Details

arguments
Bootable JAR server arguments.

  • Type: java.util.List

  • Required: No

  • Alias: arguments

argumentsProps
Bootable JAR server arguments that can be set thanks to system property.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.arguments

jarFileName
In case a custom JAR file name was specified during build, set this option to this JAR file name. That is required for the plugin to retrieve the JAR file to run.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.run.jar.file.name

  • Alias: jar-file-name

jvmArguments
Additional JVM options.

  • Type: java.util.List

  • Required: No

  • Alias: jvmArguments

jvmArgumentsProps
Additional JVM options that can be set thanks to system property.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.jvmArguments

skip
Set to true if you want the run goal to be skipped, otherwise false.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.run.skip

  • Default: false

14.5. shutdown

14.5.1. wildfly-jar:shutdown

Full name: org.wildfly.plugins:wildfly-jar-maven-plugin:2.0.0.Final:shutdown

14.5.2. Description

Shutdown the bootable JAR. In order to be able to shutdown a running server, the 'management' Galleon layer must have been included. If that is not the case, the server would have to be killed.

14.5.3. Attributes

  • Requires a Maven project to be executed.

Table 4. Optional Parameters

Name

Type

Since

Description

[authenticationConfig]

URL

-

A URL which points to the authentication configuration (wildfly-config.xml) the client uses to authenticate with the server.
User property is: wildfly.authConfig.
Alias is: authentication-config.

[hostname]

String

-

Specifies the host name of the server where the deployment plan should be executed.
Default value is: localhost.
User property is: wildfly.hostname.

[id]

String

-

Specifies the id of the server if the username and password is to be retrieved from the settings.xml file
User property is: wildfly.id.

[password]

String

-

Specifies the password to use if prompted to authenticate by the server. If no password is specified and the server requests authentication the user will be prompted to supply the password,
User property is: wildfly.password.

[port]

int

-

Specifies the port number the server is listening on.
Default value is: 9990.
User property is: wildfly.port.

[protocol]

String

-

The protocol used to connect to the server for management.
User property is: wildfly.protocol.

[skip]

boolean

-

Set to true if you want the shutdown goal to be skipped, otherwise * false.
Default value is: false.
User property is: wildfly.bootable.shutdown.skip.

[timeout]

int

-

The timeout, in seconds, to wait for a management connection.
Default value is: 60.
User property is: wildfly.timeout.

[username]

String

-

Specifies the username to use if prompted to authenticate by the server. If no username is specified and the server requests authentication the user will be prompted to supply the username,
User property is: wildfly.username.

14.5.4. Parameter Details

authenticationConfig
A URL which points to the authentication configuration (wildfly-config.xml) the client uses to authenticate with the server.

  • Type: java.net.URL

  • Required: No

  • User Property: wildfly.authConfig

  • Alias: authentication-config

hostname
Specifies the host name of the server where the deployment plan should be executed.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.hostname

  • Default: localhost

id
Specifies the id of the server if the username and password is to be retrieved from the settings.xml file

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.id

password
Specifies the password to use if prompted to authenticate by the server. If no password is specified and the server requests authentication the user will be prompted to supply the password,

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.password

port
Specifies the port number the server is listening on.

  • Type: int

  • Required: No

  • User Property: wildfly.port

  • Default: 9990

protocol
The protocol used to connect to the server for management.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.protocol

skip
Set to true if you want the shutdown goal to be skipped, otherwise * false.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.shutdown.skip

  • Default: false

timeout
The timeout, in seconds, to wait for a management connection.

  • Type: int

  • Required: No

  • User Property: wildfly.timeout

  • Default: 60

username
Specifies the username to use if prompted to authenticate by the server. If no username is specified and the server requests authentication the user will be prompted to supply the username,

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.username

14.6. start

14.6.1. wildfly-jar:start

Full name: org.wildfly.plugins:wildfly-jar-maven-plugin:2.0.0.Final:start

14.6.2. Description

Start the bootable JAR. The plugin execution keeps the process running.

14.6.3. Attributes

  • Requires a Maven project to be executed.

  • Requires dependency resolution of artifacts in scope: runtime.

Table 5. Optional Parameters

Name

Type

Since

Description

[arguments]

List

-

Bootable JAR server arguments.
Alias is: arguments.

[argumentsProps]

String

-

Bootable jar server arguments that can be set thanks to system property.
User property is: wildfly.bootable.arguments.

[authenticationConfig]

URL

-

A URL which points to the authentication configuration (wildfly-config.xml) the client uses to authenticate with the server.
User property is: wildfly.authConfig.
Alias is: authentication-config.

[checkStarted]

boolean

-

Set to false if you don’t want the plugin to check for server status before to return. In case the started server has no management interface enabled this parameter should be set to true.
Default value is: true.
User property is: wildfly.bootable.start.check.start.
Alias is: check-server-start.

[hostname]

String

-

Specifies the host name of the server where the deployment plan should be executed.
Default value is: localhost.
User property is: wildfly.hostname.

[id]

String

-

The Bootable JAR Process id.
Default value is: 60.
User property is: wildfly.bootable.start.id.
Alias is: id.

[jarFileName]

String

-

In case a custom JAR file name was specified during build, set this option to this JAR file name. That is required for the plugin to retrieve the JAR file to start.
User property is: wildfly.bootable.start.jar.file.name.
Alias is: jar-file-name.

[jvmArguments]

List

-

Additional JVM options.
Alias is: jvmArguments.

[jvmArgumentsProps]

String

-

Additional JVM options that can be set thanks to system property.
User property is: wildfly.bootable.jvmArguments.

[password]

String

-

Specifies the password to use if prompted to authenticate by the server. If no password is specified and the server requests authentication the user will be prompted to supply the password,
User property is: wildfly.password.

[port]

int

-

Specifies the port number the server is listening on.
Default value is: 9990.
User property is: wildfly.port.

[protocol]

String

-

The protocol used to connect to the server for management.
User property is: wildfly.protocol.

[skip]

boolean

-

Set to true if you want the start goal to be skipped, otherwise false.
Default value is: false.
User property is: wildfly.bootable.start.skip.

[startupTimeout]

long

-

The timeout value to use when checking for the server to be running.
Default value is: 60.
User property is: wildfly.bootable.start.timeout.
Alias is: startup-timeout.

[timeout]

int

-

The timeout, in seconds, to wait for a management connection.
Default value is: 60.
User property is: wildfly.timeout.

[username]

String

-

Specifies the username to use if prompted to authenticate by the server. If no username is specified and the server requests authentication the user will be prompted to supply the username,
User property is: wildfly.username.

14.6.4. Parameter Details

arguments
Bootable JAR server arguments.

  • Type: java.util.List

  • Required: No

  • Alias: arguments

argumentsProps
Bootable jar server arguments that can be set thanks to system property.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.arguments

authenticationConfig
A URL which points to the authentication configuration (wildfly-config.xml) the client uses to authenticate with the server.

  • Type: java.net.URL

  • Required: No

  • User Property: wildfly.authConfig

  • Alias: authentication-config

checkStarted
Set to false if you don’t want the plugin to check for server status before to return. In case the started server has no management interface enabled this parameter should be set to true.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.start.check.start

  • Default: true

  • Alias: check-server-start

hostname
Specifies the host name of the server where the deployment plan should be executed.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.hostname

  • Default: localhost

id
The Bootable JAR Process id.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.start.id

  • Default: 60

  • Alias: id

jarFileName
In case a custom JAR file name was specified during build, set this option to this JAR file name. That is required for the plugin to retrieve the JAR file to start.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.start.jar.file.name

  • Alias: jar-file-name

jvmArguments
Additional JVM options.

  • Type: java.util.List

  • Required: No

  • Alias: jvmArguments

jvmArgumentsProps
Additional JVM options that can be set thanks to system property.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.bootable.jvmArguments

password
Specifies the password to use if prompted to authenticate by the server. If no password is specified and the server requests authentication the user will be prompted to supply the password,

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.password

port
Specifies the port number the server is listening on.

  • Type: int

  • Required: No

  • User Property: wildfly.port

  • Default: 9990

protocol
The protocol used to connect to the server for management.

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.protocol

skip
Set to true if you want the start goal to be skipped, otherwise false.

  • Type: boolean

  • Required: No

  • User Property: wildfly.bootable.start.skip

  • Default: false

startupTimeout
The timeout value to use when checking for the server to be running.

  • Type: long

  • Required: No

  • User Property: wildfly.bootable.start.timeout

  • Default: 60

  • Alias: startup-timeout

timeout
The timeout, in seconds, to wait for a management connection.

  • Type: int

  • Required: No

  • User Property: wildfly.timeout

  • Default: 60

username
Specifies the username to use if prompted to authenticate by the server. If no username is specified and the server requests authentication the user will be prompted to supply the username,

  • Type: java.lang.String

  • Required: No

  • User Property: wildfly.username