Ant与批处理(win环境)学习笔记(2)

本文详细介绍Ant构建工具的各种常用任务,包括设置classpath、文件操作、条件判断等,并提供了使用示例。此外,还介绍了如何利用Ant与CVS进行版本控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在《Ant与批处理(win环境)学习笔记》中学习了Ant的一些基础知识,这期继续深入学习
——————————Ant常用task————————————————————————
[color=blue]1、使用classPath[/color]
   <target>
<javac>
<classpath refid="project.class.path"/>
</javac>
</target>

[color=blue]2、设置classpath[/color]

<classpath id="project.class.path">
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="build">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="xxx"/>
</classpath>


[color=blue]3、 输出信息[/color]
输出文本信息使用echo; 输出xml使用echoxml; 引入文件使用import

[color=blue]4、 拷贝文件[/color]
<copy file="myfile.txt" tofile="yourfile.txt"/>
copy的属性有:
file、 dir、fileset等;
copydir:拷贝目录

[color=blue]5、 删除文件[/color]
<delete file="xxx"/>
delete属性有file、dir
deletetree:删除文件目录树

[color=blue]6、 剪切文件[/color]
<move todir="xxx">
//被剪切的东西
</move>

[color=blue]7、 重命名[/color]
<rename src="xxx" dest="yyyy"/>

[color=blue]8、建立临时文件[/color]
<tempfile property="xxx" destDir="yyy" suff=".xml"/>

[color=blue]9、 touch的使用[/color]
<touch file="myfile" datetime="xxx"/>

10、 Condition的使用[color=blue][/color]
有<and>、<or>、<not>等tag,示例如下:
 <condition property="isLinuxButNotRedHat">
<and>
<os family="Linux"/>
<not>
<os family="RedHat"/>
</not>
</and>
</condition>


[color=blue]11、 替换replace[/color]
replace、replacefilter

[color=blue]12、 调用chmod[/color]
示例:
   <chmod perm="go-rwx" type="file">
<fileset dir="/web">
<include name="xxx"/>
<exclude name="yyy"/>
</fileset>
</chmod>


[color=blue]13、 设置Property[/color]
有如下一些情况:
设置属性name-value;读取属性文件中的配置:<property file="xxx.properties"/>
读取网络中的property-set:
<property url="xxx..."/>;读取环境变量:<property environmen="xxx"/>

[color=blue]13、 建立目录[/color]
<mkdir dir="xxx"/>

[color=blue]14、 打jar包[/color]
<jar destfile="${dist}" basedir="xxx"/>

[color=blue]15、 打ear包[/color]
<ear destfile="build/myapp.ear" appxml="src/metadata/application.xm">
<fileset> dir="build" includes="*.jar, *.war"/>
</ear>

[color=blue]16、 执行程序[/color]
<target name="help">
<exec exectuable="cmd">
<arg value="/c"/>
<arg value="ant.bat"/>
<arg value="-p"/>
</exec>
</target>

[color=blue]17、 运行jar包[/color]
   <java classname="test.Main">
<arg value="-h"/>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="/xxxx/yyy.jar"/>
</classpath>
</java>

[color=red]疑问:[/color]
location与path的区别?
path可以用于指向存在多个文件的位置,而location只能指向单个的文件或目录。另外path可以被设定id,供其它的path或classpath引用。如:<path id="main-classpath">,而location则没有。

[color=blue]18、 制作Javadoc[/color]
... ...

[color=blue]19、 定义一个新的task类库[/color]
<taskdef name="myjavadoc" classname="xxxxx"/>

[color=blue]20、 运行sql[/color]
   <sql>
driver="xxxx"
url="yyy"
userid="sa"
password="123456">
insert into table test_table values(1,2,3);
truncate table some_other_table;
</sql>


[color=blue]21、 Filter的使用[/color]
<filter token="xxx" value="yyy"/>

[color=blue]22、还有一些常用的task如发送邮件、解压缩[/color]
例子略去... ...

[color=blue]23、 antcall[/color]
调用target,DoSomethingelse:
 <target name=default">
<antcall target="doSomethingelse">
<param name="param1" value="value"/>
</antcall>
<target name="doSomethingelse">
<echo message="Hello World"/>
</target>
</target>


在target中还可以使用if...else类的控制流程

————————[size=large][b]Ant中使用CVS的示例[/b][/size]————————————
<?xml version="1.0" encoding="UTF-8"?>
<project>
<project name="cvsroot" value=":pserver:yaoxxxx"/>
<project name="basedir" value="xxx"/>
<project name="cvs.password" value=":yyyy"/>
<project name="cvs.passfile" value="zzzz"/>
<target name="initpass">
<cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}"/>
</target>
<target name="checkout" depends="initpass">
<cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="myproject"
dese="${distdir}" passfile="${cvs.passfile}"/>
</target>
</project>
</xml>


Ant的学习就此告一段落,平时多看看开源项目的build.xml,翻翻ant docs。这是一个积累的过程... ... 我积累呀我积累呀!!!

——————————[b][color=red][size=large]家庭作业[/size][/color][/b]—[size=large]
1、 使用Eclipse集成Ant
2、 使用Ant构建tomcat的源码
3、 使用Ant结合Junit进行自动化测试[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值