## wildfly:dev

Full name:

org.wildfly.plugins:wildfly-maven-plugin:5.0.1.Final:dev

Description:

Starts a standalone instance of WildFly and deploys the application to the server. The deployment type must be a WAR. Once the server is running, the source directories are monitored for changes. If required the sources will be compiled and the deployment may be redeployed.

Note that changes to the POM file are not monitored. If changes are made the POM file, the process will need to be terminated and restarted.

Note that if a WildFly Bootable JAR is packaged, it is ignored by this goal.

Attributes:

- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope: `compile+runtime`.
- The goal is not marked as thread-safe and thus does not support parallel builds.
- Since version: `4.1`.
- Binds by default to the lifecycle phase: `package`.

### Optional Parameters

Name | Type | Since | Description
--- | --- | --- | ---
`<addUser>` | `AddUser` | `-` | The users to add to the server. User Property: `wildfly.add-user` Alias: `add-user`
`<authenticationConfig>` | `URL` | `-` | A URL which points to the authentication configuration (`wildfly-config.xml`) the client uses to authenticate with the server. User Property: `wildfly.authConfig` Alias: `authentication-config`
`<channels>` | `List<ChannelConfiguration>` | `-` | A list of channels used for resolving artifacts while provisioning. Defining a channel:
    <channels>
        <channel>
            <manifest>
                <groupId>org.wildfly.channels</groupId>
                <artifactId>wildfly-30.0</artifactId>
            </manifest>
        </channel>
        <channel>
            <manifest>
                <url>https://example.example.org/channel/30</url>
            </manifest>
        </channel>
    </channels>
The `wildfly.channels` property can be used pass a comma delimited string for the channels. The channel can be a URL or a Maven GAV. If a Maven GAV is used, the groupId and artifactId are required. Examples:
        -Dwildfly.channels="https://channels.example.org/30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"
User Property: `wildfly.channels`
`<commands>` | `List<String>` | `-` | The CLI commands to execute before the deployment is deployed. User Property: `wildfly.commands`
`<debug>` | `boolean` | `-` | Starts the server with debugging enabled. Default: `false` User Property: `wildfly.debug`
`<debugHost>` | `String` | `-` | Sets the hostname to listen on for debugging. An `*` means all hosts. Default: `*` User Property: `wildfly.debug.host`
`<debugPort>` | `int` | `-` | Sets the port the debugger should listen on. Default: `8787` User Property: `wildfly.debug.port`
`<debugSuspend>` | `boolean` | `-` | Indicates whether the server should suspend itself until a debugger is attached. Default: `false` User Property: `wildfly.debug.suspend`
`<discoverProvisioningInfo>` | `GlowConfig` | `5.0` | Galleon provisioning information discovery. This discovery only applies when the server is running locally. NOTE: `overwriteProvisionedServer` must be set to true. Alias: `discover-provisioning-info`
`<env>` | `Map<String,String>` | `-` | Specifies the environment variables to be passed to the process being started.
    <env>
        <HOME>/home/wildfly/</HOME>
    </env>
`<excludedLayers>` | `List<String>` | `-` | A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers.excluded` to provide a comma separated list of layers to exclude. User Property: `wildfly.provisioning.layers.excluded` Alias: `excluded-layers`
`<featurePackLocation>` | `String` | `-` | The feature pack location. See the documentation for details on how to format a feature pack location. Note that if you define the version in the feature pack location, e.g. `#26.1.1.Final`, the `version` configuration parameter should be left blank. User Property: `wildfly.feature-pack.location` Alias: `feature-pack-location`
`<featurePacks>` | `List<GalleonFeaturePack>` | `-` | A list of feature-pack configurations to install, can be combined with layers. Use the System property `wildfly.provisioning.feature-packs` to provide a comma separated list of feature-packs. User Property: `wildfly.provisioning.feature-packs` Alias: `feature-packs`
`<galleonOptions>` | `Map<String,String>` | `-` | Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of server 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:
      <galleon-options>
        <jboss-fork-embedded>true</jboss-fork-embedded>
      </galleon-options>
Alias: `galleon-options`
`<hostname>` | `String` | `-` | Specifies the host name of the server where the deployment plan should be executed. Default: `localhost` User Property: `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: `wildfly.id`
`<ignorePatterns>` | `List<String>` | `-` | File patterns that we should ignore during watch. Hidden files and files ending with '~' are ignored. You can set the system property `wildfly.dev.ignore.patterns` to a white space separated list of file patterns. User Property: `wildfly.dev.ignore.patterns` Alias: `ignore-patterns`
`<javaHome>` | `String` | `-` | The `JAVA_HOME` to use for launching the server. User Property: `java.home` Alias: `java-home`
`<javaOpts>` | `String[]` | `-` | The JVM options to use. User Property: `wildfly.javaOpts` Alias: `java-opts`
`<jbossHome>` | `String` | `-` | The WildFly Application Server's home directory. If not used, WildFly will be downloaded. User Property: `jboss-as.home` Alias: `jboss-home`
`<layers>` | `List<String>` | `-` | A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers` to provide a comma separated list of layers. User Property: `wildfly.provisioning.layers` Alias: `layers`
`<moduleOptions>` | `String[]` | `-` | Options passed to JBoss Modules. This is useful for things like Java Agents where you need to start the server with an agent. User Property: `wildfly.moduleOptions` Alias: `module-options`
`<modulesPath>` | `ModulesPath` | `-` | The modules path or paths to use. A single path can be used or multiple paths by enclosing them in a paths element. User Property: `wildfly.modulesPath` Alias: `modules-path`
`<name>` | `String` | `-` | Specifies the name used for the deployment. When the deployment is copied to the server, it is renamed with this name. User Property: `wildfly.deployment.name`
`<offlineProvisioning>` | `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: `false` User Property: `wildfly.provisioning.offline` Alias: `offline-provisioning`
`<overwriteProvisionedServer>` | `boolean` | `5.0` | Set to `true` if you want to delete the existing server referenced from the `provisioningDir` and provision a new one, otherwise `false`. When { @code discover-provisioning-info } is set to `true`, this option is enforced to be `true`. When discovery of Galleon provisioning information is enabled, a change to the application source code could imply re-provisioning of the server. Default: `false` User Property: `wildfly.provisioning.overwrite-provisioned-server` Alias: `overwrite-provisioned-server`
`<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: `wildfly.password`
`<port>` | `int` | `-` | Specifies the port number the server is listening on. Default: `9990` User Property: `wildfly.port`
`<propertiesFile>` | `String` | `-` | The path to the system properties file to load. User Property: `wildfly.propertiesFile` Alias: `properties-file`
`<protocol>` | `String` | `-` | The protocol used to connect to the server for management. User Property: `wildfly.protocol`
`<provisioningDir>` | `String` | `3.0` | The directory name inside the buildDir where to provision the default server. By default the server is provisioned into the 'server' directory. Default: `server` User Property: `wildfly.provisioning.dir` Alias: `provisioning-dir`
`<remote>` | `boolean` | `-` | If set to `true` a server will not be provisioned or started and the application will be deployed to a remote server. Default: `false` User Property: `wildfly.dev.remote`
`<scripts>` | `List<File>` | `-` | The CLI script files to execute before the deployment is deployed. User Property: `wildfly.scripts`
`<serverArgs>` | `String[]` | `-` | The arguments to be passed to the server. User Property: `wildfly.serverArgs` Alias: `server-args`
`<serverConfig>` | `String` | `-` | The path to the server configuration to use. User Property: `wildfly.serverConfig` Alias: `server-config`
`<skip>` | `boolean` | `-` | Set to `true` if you want to skip this goal, otherwise `false`. Default: `false` User Property: `wildfly.skip`
`<startupTimeout>` | `long` | `-` | The timeout value to use when starting the server. Default: `60` User Property: `wildfly.startupTimeout` Alias: `startup-timeout`
`<timeout>` | `int` | `-` | The timeout, in seconds, to wait for a management connection. Default: `60` User Property: `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: `wildfly.username`
`<version>` | `String` | `-` | The version of the WildFly default server to install in case no jboss-home has been set and no server has previously been provisioned. The latest stable version is resolved if left blank. User Property: `wildfly.version`
`<webExtensions>` | `List<String>` | `-` | Additional extensions of files located in `src/webapp` directory and its sub-directories that don't require a redeployment on update. The builtin list is `html, xhtml, jsp, js, css`. You can set the system property `wildfly.dev.web.extensions` to a white space separated list of file extensions. User Property: `wildfly.dev.web.extensions` Alias: `web-extensions`

### Parameter Details

#### <addUser>

The users to add to the server.

- Type: `org.wildfly.plugin.server.AddUser`
- Required: `No`
- User Property: `wildfly.add-user`
- Alias: `add-user`

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

#### <channels>

A list of channels used for resolving artifacts while provisioning.

Defining a channel:

    <channels>
        <channel>
            <manifest>
                <groupId>org.wildfly.channels</groupId>
                <artifactId>wildfly-30.0</artifactId>
            </manifest>
        </channel>
        <channel>
            <manifest>
                <url>https://example.example.org/channel/30</url>
            </manifest>
        </channel>
    </channels>

The `wildfly.channels` property can be used pass a comma delimited string for the channels. The channel can be a URL or a Maven GAV. If a Maven GAV is used, the groupId and artifactId are required.
Examples:

        -Dwildfly.channels="https://channels.example.org/30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
        -Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"

- Type: `java.util.List<org.wildfly.plugin.provision.ChannelConfiguration>`
- Required: `No`
- User Property: `wildfly.channels`

#### <commands>

The CLI commands to execute before the deployment is deployed.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.commands`

#### <debug>

Starts the server with debugging enabled.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.debug`
- Default: `false`

#### <debugHost>

Sets the hostname to listen on for debugging. An `*` means all hosts.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.debug.host`
- Default: `*`

#### <debugPort>

Sets the port the debugger should listen on.

- Type: `int`
- Required: `No`
- User Property: `wildfly.debug.port`
- Default: `8787`

#### <debugSuspend>

Indicates whether the server should suspend itself until a debugger is attached.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.debug.suspend`
- Default: `false`

#### <discoverProvisioningInfo>

Galleon provisioning information discovery. This discovery only applies when the server is running locally. NOTE: `overwriteProvisionedServer` must be set to true.

- Type: `org.wildfly.plugin.provision.GlowConfig`
- Since: `5.0`
- Required: `No`
- Alias: `discover-provisioning-info`

#### <env>

Specifies the environment variables to be passed to the process being started.

    <env>
        <HOME>/home/wildfly/</HOME>
    </env>

- Type: `java.util.Map<java.lang.String, java.lang.String>`
- Required: `No`

#### <excludedLayers>

A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers.excluded` to provide a comma separated list of layers to exclude.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.provisioning.layers.excluded`
- Alias: `excluded-layers`

#### <featurePackLocation>

The feature pack location. See the documentation for details on how to format a feature pack location.

Note that if you define the version in the feature pack location, e.g. `#26.1.1.Final`, the `version` configuration parameter should be left blank.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.feature-pack.location`
- Alias: `feature-pack-location`

#### <featurePacks>

A list of feature-pack configurations to install, can be combined with layers. Use the System property `wildfly.provisioning.feature-packs` to provide a comma separated list of feature-packs.

- Type: `java.util.List<org.jboss.galleon.api.GalleonFeaturePack>`
- Required: `No`
- User Property: `wildfly.provisioning.feature-packs`
- Alias: `feature-packs`

#### <galleonOptions>

Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of server 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:

      <galleon-options>
        <jboss-fork-embedded>true</jboss-fork-embedded>
      </galleon-options>

- Type: `java.util.Map<java.lang.String, java.lang.String>`
- Required: `No`
- Alias: `galleon-options`

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

#### <ignorePatterns>

File patterns that we should ignore during watch.

Hidden files and files ending with '~' are ignored.

You can set the system property `wildfly.dev.ignore.patterns` to a white space separated list of file patterns.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.dev.ignore.patterns`
- Alias: `ignore-patterns`

#### <javaHome>

The `JAVA_HOME` to use for launching the server.

- Type: `java.lang.String`
- Required: `No`
- User Property: `java.home`
- Alias: `java-home`

#### <javaOpts>

The JVM options to use.

- Type: `java.lang.String[]`
- Required: `No`
- User Property: `wildfly.javaOpts`
- Alias: `java-opts`

#### <jbossHome>

The WildFly Application Server's home directory. If not used, WildFly will be downloaded.

- Type: `java.lang.String`
- Required: `No`
- User Property: `jboss-as.home`
- Alias: `jboss-home`

#### <layers>

A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set. Use the System property `wildfly.provisioning.layers` to provide a comma separated list of layers.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.provisioning.layers`
- Alias: `layers`

#### <moduleOptions>

Options passed to JBoss Modules. This is useful for things like Java Agents where you need to start the server with an agent.

- Type: `java.lang.String[]`
- Required: `No`
- User Property: `wildfly.moduleOptions`
- Alias: `module-options`

#### <modulesPath>

The modules path or paths to use. A single path can be used or multiple paths by enclosing them in a paths element.

- Type: `org.wildfly.plugin.server.ModulesPath`
- Required: `No`
- User Property: `wildfly.modulesPath`
- Alias: `modules-path`

#### <name>

Specifies the name used for the deployment.

When the deployment is copied to the server, it is renamed with this name.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.deployment.name`

#### <offlineProvisioning>

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`
- User Property: `wildfly.provisioning.offline`
- Default: `false`
- Alias: `offline-provisioning`

#### <overwriteProvisionedServer>

Set to `true` if you want to delete the existing server referenced from the `provisioningDir` and provision a new one, otherwise `false`. When { @code discover-provisioning-info } is set to `true`, this option is enforced to be `true`. When discovery of Galleon provisioning information is enabled, a change to the application source code could imply re-provisioning of the server.

- Type: `boolean`
- Since: `5.0`
- Required: `No`
- User Property: `wildfly.provisioning.overwrite-provisioned-server`
- Default: `false`
- Alias: `overwrite-provisioned-server`

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

#### <propertiesFile>

The path to the system properties file to load.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.propertiesFile`
- Alias: `properties-file`

#### <protocol>

The protocol used to connect to the server for management.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.protocol`

#### <provisioningDir>

The directory name inside the buildDir where to provision the default server. By default the server is provisioned into the 'server' directory.

- Type: `java.lang.String`
- Since: `3.0`
- Required: `No`
- User Property: `wildfly.provisioning.dir`
- Default: `server`
- Alias: `provisioning-dir`

#### <remote>

If set to `true` a server will not be provisioned or started and the application will be deployed to a remote server.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.dev.remote`
- Default: `false`

#### <scripts>

The CLI script files to execute before the deployment is deployed.

- Type: `java.util.List<java.io.File>`
- Required: `No`
- User Property: `wildfly.scripts`

#### <serverArgs>

The arguments to be passed to the server.

- Type: `java.lang.String[]`
- Required: `No`
- User Property: `wildfly.serverArgs`
- Alias: `server-args`

#### <serverConfig>

The path to the server configuration to use.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.serverConfig`
- Alias: `server-config`

#### <skip>

Set to `true` if you want to skip this goal, otherwise `false`.

- Type: `boolean`
- Required: `No`
- User Property: `wildfly.skip`
- Default: `false`

#### <startupTimeout>

The timeout value to use when starting the server.

- Type: `long`
- Required: `No`
- User Property: `wildfly.startupTimeout`
- 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`

#### <version>

The version of the WildFly default server to install in case no jboss-home has been set and no server has previously been provisioned.

The latest stable version is resolved if left blank.

- Type: `java.lang.String`
- Required: `No`
- User Property: `wildfly.version`

#### <webExtensions>

Additional extensions of files located in `src/webapp` directory and its sub-directories that don't require a redeployment on update.

The builtin list is `html, xhtml, jsp, js, css`.

You can set the system property `wildfly.dev.web.extensions` to a white space separated list of file extensions.

- Type: `java.util.List<java.lang.String>`
- Required: `No`
- User Property: `wildfly.dev.web.extensions`
- Alias: `web-extensions`