无所不能的“蚂蚁”--Ant(四)

.使用Ant运行本地程序

1.使用Ant运行windows的批处理文件

 

       要在Ant内运行一个外部程序,应使用<exec>任务.它允许你执行下列操作:

l         指定程序名和要传入的参数.

l         命名运行目录.

l         使用failonerror标志来控制当应用程序失败时是否停止构建.

l         指定一个最大程序持续时间,时间超过则中止程序.任务在这时被认为是失败,但是至少构建会中止,而不是挂起,这对于自动构建是至关重要的.

l         将输出存到一个文件或特性.

l         指定java调用本地程序时需要预先设定的环境变量.

 

       下面来看一个例子:

批处理文件:

Test.bat

@echo off

 

echo Hello > test.txt

 

 

 

 

 

build.xml

<?xml version="1.0"?>

 

<project name="batch" default="extract" basedir=".">

 

    <target name="extract">

 

       <exec executable ="cmd">

 

           <arg line="/c a.bat"/>     

 

       </exec> 

 

    </target>

 

</project>

 

 

 

 

 

 

 

 

       使用executable元素标记指定使用的命令,具体用法可以在命令行下面输入help cmd查看.如果你希望在运行批处理发生错误时中止构建需要设定failοnerrοr="on".加入你的外部程序在某个时刻挂起,也许是在与远程站点对话,而你不希望构建永远被挂起,Ant提供了timeout这个属性,他是一个以毫秒为单位的数字.下面看一下如何使用Ant来运行tomcat.

       启动tomcat需要两个环境变量CATALINA_HOME, JAVA_HOME,如果你在环境变量中已经设定,Ant中就不需要进行处理,如果没有需要使用<env>属性来设定,你也可以使用<env>属性覆盖你以前的环境变量.

 

 

<?xml version="1.0"?>

 

<project name="batch" default="tomcat-start" basedir=".">

 

    <property name="tomcat.dir" value="C:\Tomcat5"></property>

 

   

 

 

    <target name="tomcat-start">

 

    <exec dir="${tomcat.dir}/bin" executable="cmd">

 

       <env key="CATALINA_HOME" path="${tomcat.dir}"/>

 

       <arg value="/C startup.bat"/>

 

    </exec>

 

    </target>

 

</project>

 

 

 

 

 

 

 

 

 

 

 

2.使用Ant运行shell文件

 

      由于windowsXPcmd默认没有安装ps,bash等命令,所以我们需要借助的三方的软件来实现这个功能,这里使用cgywin,cgywinbin目录加到环境变量的Path里面(下面使用Ant运行cvs也会用到).

 

<?xml version="1.0"?>

 

<project name="batch" default="shell" basedir=".">

 

    <property name="tomcat.dir" value="C:\Tomcat5"></property>

 

   

 

 

    <target name="shell">

 

    <exec dir="${tomcat.dir}/bin" executable="bash">

 

       <env key="CATALINA_HOME" path="${tomcat.dir}"/>

 

       <arg value="startup.sh"/>

 

    </exec>

 

    </target>

 

</project>

 

 

 

 

 

 

 

 

 

 

3.使用Ant运行cvs

 

 

       Ant内置cvs属性,可以很方便的使用cvs:

 

<?xml version="1.0"?>

 

<project name="batch" default="shell" basedir=".">

 

    <property name="cvs.root" value="..."></property>

 

   

 

 

    <target name="cvs">

 

       <cvs cvsroot="cvs.root" command="checkout ../.."/>

 

    </target>

 

</project>

 

 

 

 

 

 

 

如果你的Documents and Settings中有.cvspass文件,那么可以不用设定cvsroot,Ant会自动寻找.

 

 

 

.工程的打包部署

 

       工程的打包,主要就是文件的操作,下面通过例子简单介绍一下文件的移动,复制和删除.

 

<?xml version="1.0"?>

 

<project name="project" default="jar">

 

    <target name="copy">

 

       <tstamp>

 

           <format property="time.format"                                           pattern="yyyy-mm-dd'T'HH:mm:ss"

 

              locale="en"/>

 

       </tstamp>

 

       <copy tofile="dist/readme" file="test.txt">

 

           <filterset>

 

              <filter token="TIME" value="${time.format}"/>

 

           </filterset>

 

       </copy>

 

    </target>

 

 

    <target name="move">

 

       <move todir="dist">

 

           <fileset dir="lib">

 

              <include name="*.jar"/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值