使用Ant运行本地程序(转)

本文介绍如何使用Ant自动化工具运行Windows批处理文件、Shell脚本及CVS操作。通过实例演示了如何配置Ant来启动Tomcat服务器,并展示了如何利用Ant内置的CVS任务进行版本控制。
 .    使用Ant运行windows的批处理文件

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

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

l         命名运行目录 .

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

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

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

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

       下面来看一个例子 :

批处理文件 :

Test.bat

                                                                P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>@echo off

echo Hello > test.txt

build.xml

                                                                SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

<?xml version="1.0"?>

<projectname="batch"default="extract"basedir=".">

    <targetname="extract">

       <execexecutable ="cmd">

           <argline="/c a.bat"/>    

       </exec>

    </target>

</project>

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

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

                                                        SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

<?xml version="1.0"?>

<projectname="batch"default="tomcat-start"basedir=".">

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

  

    <targetname="tomcat-start">

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

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

       <argvalue="/C startup.bat"/>

    </exec>

    </target>

</project>

2. 使用 Ant 运行 shell 文件

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

                                                        SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

<?xml version="1.0"?>

<projectname="batch"default="shell"basedir=".">

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

  

    <targetname="shell">

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

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

       <argvalue="startup.sh"/>

    </exec>

    </target>

</project>

3. 使用 Ant 运行 cvs

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

                                                        SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

<?xml version="1.0"?>

<projectname="batch"default="shell"basedir=".">

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

  

    <targetname="cvs">

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

    </target>

</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值