# WildFly Maven Plugin (wildfly-maven-plugin)

The wildfly-maven-plugin is used to provision a server using Galleon, package your application in Galleon provisioned server, deploy, redeploy, undeploy or run your application. You can also deploy or undeploy artifacts, such as JDBC drivers, and add or remove resources. There is also the ability to execute CLI commands.

## Goals Overview

General information about the goals.

- wildfly:add-resource adds a resource.

- wildfly:deploy deploys the application to the application server.

- wildfly:deploy-only deploys the application to application server invoking no other goals by default.

- wildfly:deploy-artifact deploys an arbitrary artifact to the server.

- wildfly:package produces a fully configured server installation using Galleon and WildFly CLI that contains your application.

- wildfly:provision produces a server installation using Galleon.

- wildfly:image build (and push) a container image to run your application on the cloud.

- wildfly:redeploy redeploys the application.

- wildfly:redeploy-only redeploys the application invoking no other goals by default.

- wildfly:undeploy undeploys the application.

- wildfly:dev runs the application server, if applicable, and deploys your application watching for source changes.

- wildfly:run runs the application server and deploys your application.

- wildfly:start starts the application server and leaves the process running. In most cases the shutdown goal be executed to ensure the server is shutdown.

- wildfly:shutdown shuts down a running application server.

- wildfly:execute-commands executes commands on the running server.

## Usage

General instructions on how to use the WildFly Maven Plugin can be found on the usage page. Some more specific use cases are described in the examples given below.

In case you still have questions regarding the plugin's usage, please have a look at the FAQ and feel free to contact the user mailing list. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the mail archive.

If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our source repository and will find supplementary information in the guide to helping with Maven.

## WildFly Glow

The WildFly Maven plugin uses WildFly Glow to generate provisioning configuration. For more information on WildFly Glow you see the documentation.

## Examples

To provide you with better understanding of some usages of the WildFly Maven Plugin, you can take a look into the following example:

- Deployment Example

- Channel Example

- Adding Resources Example

- Complex Examples

- Execute Commands Example

- Dev Example

- Run Example

- Packaging the application and server Example

- Provisioning a server Example

- Building (and pushing) an application image Example