在jboss上部署/取消部署战争的ant任务

Jey*_*Jey 2 ant

如何使用ANT构建在运行Jboss服务器上部署/取消部署war文件?

Kat*_*Ots 5

JBoss AS7默认启用了部署扫描程序,因此您只需将war文件复制到$ {jboss.home}/standalone/deployments即可自动部署,即:

<copy file="${war.path}" todir="${jboss.home}/standalone/deployments"/>
Run Code Online (Sandbox Code Playgroud)

部署战争后,名为$ {war.filename} .war.deployed的文件将出现在deployments目录中.要取消部署战争,请删除相关的.deployed文件,即:

<delete file="${jboss.deployments.dir}/${war.filename}.war.deployed"/>
Run Code Online (Sandbox Code Playgroud)

一旦取消部署战争,将在deployments目录中有一个名为$ {jboss.deployments.dir}/$ {war.filename} .war.undeployed的文件.

要提示重新部署,您可以删除.undeployed文件,也可以创建一个与war和.dodeploy扩展名相同的文件,即:

<touch file="${jboss.deployments.dir}/${war.filename}.war.dodeploy"/>
Run Code Online (Sandbox Code Playgroud)

此StackOverflow帖子有一个Ant任务的示例,用于取消部署,然后是部署.

显然,为了使上述工作,您需要声明在某处使用的各种属性,即:

<property name="war.filename" value="mywar" />
<property name="war.path" value="dir/mywar.war" />
<property name="jboss.deployments.dir" value="${jboss.home}/standalone/deployments" />
Run Code Online (Sandbox Code Playgroud)