The plugin goals deploy, undeploy, and redeploy can be used to deploy, redeploy and undeploy applications to a JBoss Application Server. The first step is to add the appropriate configuration to your plugin configuration in the POM.
<project> ... <build> ... <plugins> ... <plugin> <groupId>org.jboss.as.plugins</groupId> <artifactId>jboss-as-maven-plugin</artifactId> <version>7.4.Final</version> </plugin> ... </plugins> ... </build> ... </project>
The file listed under the filename parameter can be deployed to the server using the deploy goal.
mvn jboss-as:deploy
The file can later be redeployed or undeployed using the appropriate goals.
mvn jboss-as:redeploy mvn jboss-as:undeploy
You can also set the deployment operation to execute at a specific phase, for example the install phase.
<project> ... <build> ... <plugins> ... <plugin> <groupId>org.jboss.as.plugins</groupId> <artifactId>jboss-as-maven-plugin</artifactId> <version>7.4.Final</version> <executions> <execution> <phase>install</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> ... </plugins> ... </build> ... </project>
It is also possible to deploy other artifacts that are not related to your deployment, e.g. database drivers:
<project> ... <build> ... <plugins> ... <plugin> <groupId>org.jboss.as.plugins</groupId> <artifactId>jboss-as-maven-plugin</artifactId> <version>7.4.Final</version> <executions> <execution> <phase>install</phase> <goals> <goal>deploy-artifact</goal> </goals> <configuration> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <name>postgresql.jar</name> </configuration> </execution> </executions> </plugin> ... </plugins> ... </build> ... </project>
The artifact must be already listed as a dependency in the projects pom.xml.
Deploying in domain mode works the same as the examples above, except you need to add the domain tag as well as specify at least one server group.
<project> ... <build> ... <plugins> ... <plugin> <groupId>org.jboss.as.plugins</groupId> <artifactId>jboss-as-maven-plugin</artifactId> <version>7.4.Final</version> <configuration> <domain> <server-groups> <server-group>main-server-group</server-group> </server-groups> </domain> </configuration> </plugin> ... </plugins> ... </build> ... </project>