捕风之巢

统计

留言簿(3)

java友情链接

阅读排行榜

评论排行榜

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

      由于 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>

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

posted on 2006-11-28 17:09 捕风 阅读(1406) 评论(2)  编辑  收藏 所属分类: java高级

评论

# re: 使用Ant运行本地程序(转) 2009-08-12 19:50 你二大爷

运行 a.bat那个根本不行  回复  更多评论   

# re: 使用Ant运行本地程序(转) 2009-08-12 19:50 你二大爷

@你二大爷
对,不行,作者骗人  回复  更多评论   


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


网站导航: