五.使用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查看.如果你希望在运行批处理发生错误时中止构建需要设定failonerror="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文件
由于windowsXP的cmd默认没有安装ps,bash等命令,所以我们需要借助的三方的软件来实现这个功能,这里使用cgywin,将cgywin的bin目录加到环境变量的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"/>
|
分享到:
相关推荐
MatlabGUI使用java组件无所不能-uicomponent.m 是不是曾经想做出漂亮的GUI 界面? 是不是曾经想在 Matlab GUI里面显示网页? 看看这个界面: matlab_java.png 所以,...
标题中的“你的习惯对了,你无所不能-习惯的力量PPT模板”暗示了这个PPT内容将探讨习惯如何塑造个人能力和成功。描述中提到“每天有40%的行为并不是真正由决定促成的,而是出于习惯”,这引用了一个研究发现,强调了...
#### 四、总结 苹果JBL“无所不能”遥控器是一款功能强大的遥控设备,适用于多种场合。通过本文详细介绍的操作指南和安全须知,使用者可以更好地了解如何正确、安全地使用这款遥控器,从而获得更好的用户体验。在...
智慧能源-无所不能 完整
总的来说,"万能编程器软件---无所不能"不仅是一个工具,更是一种解决方案,它简化了对各种类型芯片编程的过程,提高了开发效率。无论是用于学习、原型设计还是大规模生产,这样的软件都是电子工程师的得力助手。其...
"让迅雷无所不能下载"这个标题暗示了一个可能的增强迅雷下载功能的补丁或者插件,使得用户能够下载更多类型或者原本限制下载的资源。 首先,迅雷的核心技术是P2SP(peer-to-server-peer),它结合了传统的P2P和P2S...
让迅雷无所不能下载、通吃一切 让迅雷无所不能下载、通吃一切
能源互联网白皮书-to 无所不能.pptx
标题中的“电脑测试软件很好用无所不能”表明我们讨论的是一款功能强大的计算机系统诊断和测试工具,它能够全面地分析和评估电脑硬件和软件的性能。这类软件通常包含多个模块,用于测试处理器、内存、硬盘、显卡等...
本文将详细介绍如何利用特定的工具或方法,使迅雷能够处理这些非传统迅雷链接的资源,实现“让迅雷无所不能”的目标。 首先,了解电驴(eMule)和快车(FlashGet)的下载机制。电驴是一种P2P(peer-to-peer)共享网络,...
标题中的“真正的无所不能!”可能是指这个压缩包包含了大量的IT学习资源,涵盖了多个领域的知识,而描述中的“我所下的所有书的整合!绝对经典!只要你能想到的这里面都有!”进一步证实了这一点,说明这个集合包含...
根据提供的文件信息,以下是关于VB无所不能系列的详细知识点。 ### 1. 指针 指针在VB中的使用与C语言等其他编程语言中的使用有所不同,因为VB是一种高级语言,它对内存访问进行了封装。在VB中,可以通过API调用和...
谷歌发布5620亿参数多模态模型PaLM-E,机器人操控无所不能" 这个标题揭示了谷歌在人工智能领域的一项重大突破,即他们推出了一个具有5620亿参数的多模态模型,命名为PaLM-E。这里的“重磅”暗示了该发布的重要性,...
"能源互联网白皮书-to 无所不能.zip" 文件包含了对这一主题的深入探讨,尤其通过其包含的 "能源互联网白皮书-to 无所不能.pptx" 讲义,我们可以从多个方面了解能源互联网的核心理念和应用实践。 1. **定义与概念**...
网络精选教程,希望大家不要忘记VB,包括GDI绘画等详解的例子
【智慧能源】是一种结合了互联网技术的新型能源管理体系,旨在通过智能化的方式优化能源生产、分配和消费,提高能源效率,减少环境污染,同时满足人们日益增长的多元化能源需求。这一概念的提出,源于对传统能源系统...
无所不能 相当强大 目前最强大内容最丰富的超级模块
【智慧能源】是一种结合了互联网技术的新型能源管理系统,它超越了传统的能耗监测,实现了监测、考核、管理、控制的全面整合,形成了一个四位一体的精细化能源管理平台。该平台可以细化到对每个用户或者房间的能耗...
【快乐网管之无所不能软件】是一款针对初级用户的自动化工具,类似于知名的【按键精灵】,旨在简化用户在日常计算机操作中的复杂流程。该软件通过模拟鼠标点击和键盘输入,能够执行一系列预先设定好的任务,极大地...