eclipse ant 构建项目

 

主要内容:

1 java的构建工具ant

2 ant 的projects,targets,tasks,properties

3 简单的ant 构建文件

5.3.1
xml和html
xml:extensible markup language 可扩展标记语言
1) html表现的是如何在网页上显示数据,他定义了一套标准的标签。
2) Html的标签有开始标签,可以没有结束标签如:《p》….《/p》也可以《p》而xml则必须匹配开始和结束标签
3) Xml的标签的嵌套必须正确而html则不必如:《b》《i》this is not valid in xml《/b》《/i》
4) Xml的标签是大小写敏感的,html则不是

元素:一个开始标签和一个结束标签定义了一个元素。
属性:开始标签中的名-值对是属性
xml中的注释:《! - -  do something here - - 》
空元素的写法:《java classname=”Hello.class”》《/java》或《java classname=”Hello.class” /》
5.3.2 ant 的默认构建描述文件是build.xml
在eclipse中运行ant脚本:在build.xml上右键选择run ant 可在控制台中显示结果
ant已集成到eclipse中,如果要得到新版本的ant,则其下载地址是:http://ant.apache.org
A  《project》
属性  描述   是否必须
default  要运行的默认目标 Y
name  项目名   N
basedir  基目录   N
description 项目描述  N
属性

《project name=”Hello” default=”compile” basedir=”.” Description=”Hello,World build file”》
‘.’代表的是build.xml所在的目录
可以嵌套的标签《description》《target》《property》

B Targets
属性  描述    是否必须
name  目标名    Y
depends  依赖列表   N
if  指定属性被设置时执行  N
unless  当指定属性未被设置时执行 N
description 目标描述   N

《target name=”compile” depends=”init” description =”Compile all sources”》

C Tasks

《buildnumber》从文件中读取构建的计数器每构建一次计数器加一写回文件

属性 描述    是否必须
file 读取的属性默认build.number N

《buildnumber file=”buildnum.txt” /》

copy任务属性
属性   描述   是否必须
file   源文件名 Y,除非使用fileset
tofile   目标文件名 Y,除非使用 todir
todir   目标目录 Y,如果多于1个文件
overwrite  覆盖较新的目标文件 N,默认false
includeEmptyDirs 拷贝空目录 N,默认true
failonerror  文件未发现停止构建 N,默认true
verbose   列出拷贝文件 N,默认false

《copy file=”log4j.properties” todir=”bin” /》
《copy》拷贝一个文件file 属性 拷贝一组文件 《fileset》 元素嵌套

delete任务属性
属性   描述  是否必须
file   要删除的文件 Y,除非是dir或fileset
dir   要删除的目录 Y,除非file fileset
verbose   删除文件列表 N,默认false
failonerror  有错误停在 N,默认true
includeEmptyDirs 删除的目录当fileset指定 N,默认false

《delete file=”ant.log” /》
《delete dir=”temp” /》
《delete》 删除一个文件使用file属性,一组文件用《fileset》元素嵌套或目录用 directory属性

echo任务属性:
《echo》向终端,文件写信息
属性 描述  是否必须
message 信息  Y,除非文本做为元素内容
file 输出文件 N
append 是否追加到文件 N,默认false
《echo messag=”Hello” /》
《echo》this is a Message form ant 《/echo》

jar任务属性:
《jar》将一组文件压缩为一个jar文件
属性  描述  是否必须
destfile Jar文件名 Y
basedir 要打包的目录 N
includes 包含的文件 N
excludes 排除的文件 N

《jar destfile=”dist/persistence.jar” basedir=”bin” includes=”org/ecli/persis/**,org/ecli/astr/**” excludes=”*Text*.class” /》
《jar destfile="dist/persistence.jar"》
《include name="**/*.class"/》
《exclude name="**/*Test*"/》
《/jar》
java任务属性:
《java》 可以嵌套的元素《classpath》用来替代classpath属性
属性   描述  是否必须
classname 要运行的类名  Y,除非指定jar
jar  执行的jar  Y,除非指定clsssname
classpath 使用的类路径  N
fork  是否使用较新的JVM N,默认false
failonerror 错误发生是否停止 N,默认false
output  输出文件  N
append  追加或覆盖默认文件 N
《java classname="HelloWorld"/》
《java classname="Add" classpath="${basedir}/bin"》
《arg value="100"/》
《arg value="200"/》
《/java》
《arg》 指定命令行参数

javac任务属性:
《javac》 编译java文件 可以嵌套的元素《classpath》《jar》
属性   描述  是否必须
srcdir   源目录  Y,除非src使用
destdir   输出目录 N
includes  包含的编译文件 N,默认包含所有java文件
excludes  忽略的文件 N
classpath  使用的类路径 N
debug   是否包含调试信息 N,默认false
optimize  使用优化 N,默认false
verbose   提供verbose输出 N
failonerror  错误发生是否停止 N,默认true

《javac srcdir="src" destdir="bin"/》
《javac srcdir="${basedir}" destdir="bin"
includes="org/eclipseguide/persistence/**"
excludes="**/*Test*"》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location=
"D:/log4j/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/》
《/classpath》
《/javac》
javadoc任务属性:
《javadoc》从java的源文件中产生javadoc文档,可嵌套的元素为《fileset》《packageset》《classpath》
属性  描述   是否必须
sourcepath 源路径 Y,除非指定sorcefiles,sorcepathref
sourcepathref 源路径参照 Y, 除非指定sorcepath,sorcefiles
sourcefiles 源文件,逗号分隔 Y, 除非指定sorcepath,sorcepathref
destdir  目标目录 Y, 除非指定doclet
classpath 类路径 N
public  仅显示公共类,成员 N
protected 仅显示保护的,公共类,成员 N,默认true
package  仅显示包,保护的,公共类,成员 N
private  显示所有类,成员 N
version  包含版本信息 N
use  包含use信息 N
author  包含作者信息 N
failonerror 错误发生是否停止 N,默认true

《javadoc destdir="doctest"
sourcefiles=
"src/org/eclipseguide/persistence/ObjectManager.java"/》
《javadoc destdir="doc"
author="true"
version="true"
use="true"
package="true"》
《fileset dir="${src}/org/eclipseguide/astronomy/"》
《include name="**/*.java"/》
《exclude name="**/*Test*"/》
《/fileset》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location=
"D:/log4j/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/》
《/classpath》
《/javadoc》

《mkdir》创建目录
属性 描述 是否必须
dir 要建立的目录 Y
《mkdir dir="dist/doc"/》
《tstamp》时间戳
DSTAMP yyyyMMdd
TSTAMP hhmm
TODAY MMM dd yyyy
C 属性
可以把属性写在一个文件中,用《property file=”build.properties”》指定并读取
# build.properties
junit_home=D:/junit/junit3.8.1
log4j_home=D:/log4j/jakarta-log4j-1.2.8
可以这样使用:
《property file="build.properties"/》

D fileset
《fileset》中的通配符
‘?’ 任何一个字符
‘*’0个或多个字符
‘**’0个或多个目录
属性  描述 是否必须
dir  目录 Y
includes 包含文件 N
excludes 排除文件 N
《fileset dir="src/org/eclipseguide/astronomy"
includes="**/*.java"
excludes="**/*Test*"/》
《fileset dir="src/org/eclipseguide/astronomy/"》
《include name="**/*.java"/》
《exclude name="**/*Test*"/》
《/fileset》

E classpath
属性 描述 是否必须
path 路径 N
location 独立文件或目录 N
《classpath path="bin"/》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location="${junit_path}"/》
《pathelement location="${log4j_path}"/》
《/classpath》
F refid
ant的元素都可以设置一个ID,你可以通过这个ID来引用这个元素
设置classpath
《classpath id="common_path"》
《pathelement path="${java.class.path}"/》
《pathelement location="${junit_path}"/》
《pathelement location="${log4j_path}"/》
《/classpath》
引用:
《javac srcdir="src" destdir="bin"》
《classpath refid="common_path"/》
《/javac》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值