I want to use ant to control deploy and undeploy apps to JBoss AS 7 in a simple test. I know I could just have ant copy the WAR, jar, or EAR files to $JBOSS_HOME/standalone/deployments directory, but then I will have to wait till the app is fully initialized before accessing it. So I decided to write some simple ant targets using JBoss AS7 CLI commands.
<?xml version="1.0"?>
<project name="test" default="build" basedir=".">
<property environment="env"/>
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="app.name" value="test.war" />
<property name="app.path" value="${app.name}" />
<presetdef name="jboss-cli">
<java jar="${jboss.home}/jboss-modules.jar" fork="true" >
<arg line="-mp ${jboss.home}/modules org.jboss.as.cli -c" />
</java>
</presetdef>
<target name="deploy">
<jboss-cli failonerror="true">
<arg line="'deploy --force ${app.path}'" />
</jboss-cli>
</target>
<target name="undeploy">
<jboss-cli failonerror="true">
<arg line="'undeploy ${app.name}'" />
</jboss-cli>
</target>
<target name="restart">
<jboss-cli failonerror="true">
<arg line="':shutdown(restart=true)'" />
</jboss-cli>
</target>
</project>
The above deploy and undeploy is equivalent to the following jboss-cli commands:
jboss-cli.sh -c "deploy --force test.war"
jboss-cli.sh -c "undeploy test.war"
Add a comment