如何在ant文件中执行以下任务?
- 制作zip文件。
- 运行命令。
- 将文件复制到远程计算机。
- 在远程Linux机器上运行命令。
- 打开输入框并响应输入值。
- 拨打蚂蚁电话。
答案:
1.制作zip文件:
以下是在ant中制作zip文件的xml:
<zip destfile='${destination.folder}/zipName.zip'><fileset dir= '${Source.folder}' />
</zip>
在此,“ destfile”是创建的zip文件的名称和位置。 在文件集标记中,dir属性用于指定将压缩所有文件的源文件夹格式。
2.运行命令:
在这里,我将向您展示如何在ant文件中启动tomcat,以演示如何在ant中运行命令。 以下是为此的xml:
<exec dir='${tomcat.home}/bin' executable='cmd' os='Windows XP'><arg line='/c startup.bat'/>
</exec>
这里的“ $ {tomcat.home}”是tomcat文件夹的路径。 该命令在“ line”属性的“ <arg>”标签中给出。
注意:要运行以下命令,您将需要JSCH jar 。
3.将文件复制到远程计算机:
如果远程计算机位于您的局域网中,并且您可以直接以\\ remote_machine \ path对其进行访问,则可以使用简单的复制命令,如下所示:
<copy file='${source.folder.file} ' todir='\\remote\path'>
</copy>
要在支持SCP的远程计算机上复制文件,请使用以下标记:
<scp file='${source.folder.file} ' todir='${remote.user}@${remote.host}:${remote.path.where.to.do.copy}'password='${remote.password}' trust='true'>
</scp>
在以上两个命令中,“文件”是要复制其路径的源文件。 “ todir”是要在其中复制文件的远程计算机文件夹路径。
4.在远程计算机上运行命令:
您可以使用以下标记在远程Linux机器上执行命令。
<sshexec host='${remote.host}' username='${remote.username}' password='${remote.password}'command='${command.to.run}' trust='true' />
例如,要启动tomcat,请使用以下标记:
<sshexec host='${remote.host}' username='${remote.user}' password='${remote.password}'command='sh ${tomcat.home}/startup.sh' trust='true' />
5.打开一个输入框并响应输入值 :
要打开输入对话框,请使用以下标记:
<input message='Enter id: ' addproperty='my.id'>
</input>
“ addproperty”中的“ my.id”是保存输入值的变量名。 现在检查用户是否拒绝在输入中输入值:
<condition property='do.abort'><equals arg1='n' arg2='${my.id}'/>
</condition>
<fail if='do.abort'>Build aborted by user.</fail>
如果用户输入值并按OK,则可以将输入的值称为“ $ {my.id}”。
6.拨打蚂蚁电话 :
<antcall target='targetName'>
</antcall>
这里的“目标”是将要执行的目标的名称。
注意:在以上示例中,所有以“ $ {”开头和以“}”结尾的值都是变量,您可能必须在其中输入适当的值才能成功运行它们。
参考: harryjoy博客上来自JCG合作伙伴 Harsh Raval的有用的Ant构建标签 。
翻译自: https://www.javacodegeeks.com/2012/09/useful-ant-build-tags.html