随笔-26  评论-13  文章-46  trackbacks-0

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

                                      

.使用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文件

      由于windowsXPcmd默认没有安装ps,bash等命令,所以我们需要借助的三方的软件来实现这个功能,这里使用cgywin,cgywinbin目录加到环境变量的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>

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

posted on 2006-05-08 17:24 似水流年 阅读(1455) 评论(0)  编辑  收藏 所属分类: Ant

只有注册用户登录后才能发表评论。


网站导航: