Sun技术社区 - Java,Solaris,SunONE,JES,StarSuite技术论坛 - Ant应用2

来源:百度文库 编辑:神马文学网 时间:2024/05/23 15:48:17
4.1 File(Directory)类
4.1.1 Mkdir
创建一个目录,如果他的父目录不存在,也会被同时创建。
例子:

说明: 如果build不存在,也会被同时创建
4.1.2 Copy
拷贝一个(组)文件、目录
例子:
1. 拷贝单个的文件:

2. 拷贝单个的文件到指定目录下

3. 拷贝一个目录到另外一个目录下



4. 拷贝一批文件到指定目录下








5. 拷贝一批文件到指定目录下,将文件名后增加。Bak后缀




6. 拷贝一组文件到指定目录下,替换其中的@标签@内容






4.1.3 Delete
删除一个(组)文件或者目录
例子
1. 删除一个文件

2. 删除指定目录及其子目录

3. 删除指定的一组文件



4. 删除指定目录及其子目录,包括他自己



4.1.4 Move
移动或重命名一个(组)文件、目录
例子:
1. 移动或重命名一个文件

2. 移动或重命名一个文件到另一个文件夹下面

3. 将一个目录移到另外一个目录下



4. 将一组文件移动到另外的目录下






5. 移动文件过程中增加。Bak后缀






4.2 Java相关
4.2.1 Javac
编译java原代码
例子
1. destdir="${build}"
classpath="xyz.jar"
debug="on"
/>
编译${src}目录及其子目录下的所有。Java文件,。Class文件将放在${build}指定的目录下,classpath表示需要用到的类文件或者目录,debug设置为on表示输出debug信息
2. destdir="${build}"
includes="mypackage/p1/**,mypackage/p2/**"
excludes="mypackage/p1/testpackage/**"
classpath="xyz.jar"
debug="on"
/>
编译${src}和${src2}目录及其子目录下的所有。Java文件,但是package/p1/**,mypackage/p2/**将被编译,而mypackage/p1/testpackage/**将不会被编译。Class文件将放在${build}指定的目录下,classpath表示需要用到的类文件或者目录,debug设置为on表示输出debug信息
3.
destdir="${src}"
classpath="${classpath}"
debug="on"
/>
路径是在property中定义的
4.2.2 java
执行指定的java类
例子:
1.





classname中指定要执行的类,classpath设定要使用的环境变量
2.









4.3 打包相关
4.3.1 jar
将一组文件打包
例子:
1.
将${build}/classes下面的所有文件打包到${dist}/lib/app.jar中
2. basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
/>
将${build}/classes下面的所有文件打包到${dist}/lib/app.jar中,但是包括mypackage/test/所有文件不包括所有的Test.class
3. basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
manifest=”my.mf”
/>
manifest属性指定自己的META-INF/MANIFEST.MF文件,而不是由系统生成
4.3.2 war
对Jar的扩展,用于打包Web应用
例子:
假设我们的文件目录如下:
thirdparty/libs/jdbc1.jar
thirdparty/libs/jdbc2.jar
build/main/com/myco/myapp/Servlet.class
src/metadata/myapp.xml
src/html/myapp/index.html
src/jsp/myapp/front.jsp
src/graphics/images/gifs/small/logo.gif
src/graphics/images/gifs/large/logo.gif
下面是我们的任务的内容:







prefix="images"/>

完成后的结果:
WEB-INF/web.xml
WEB-INF/lib/jdbc2.jar
WEB-INF/classes/com/myco/myapp/Servlet.class
META-INF/MANIFEST.MF
index.html
front.jsp
images/small/logo.gif
images/large/logo.gif
4.3.3 ear
用于打包企业应用
例子



4.4 时间戳
在生成环境中使用当前时间和日期,以某种方式标记某个生成任务的输出,以便记录它是何时生成的,这经常是可取的。这可能涉及编辑一个文件,以便插入一个字符串来指定日期和时间,或将这个信息合并到 JAR 或 zip 文件的文件名中。
这种需要是通过简单但是非常有用的 tstamp 任务来解决的。这个任务通常在某次生成过程开始时调用,比如在一个 init 目标中。这个任务不需要属性,许多情况下只需 就足够了。
tstamp 不产生任何输出;相反,它根据当前系统时间和日期设置 Ant 属性。下面是 tstamp 设置的一些属性、对每个属性的说明,以及这些属性可被设置到的值的例子:
属性 说明 例子
DSTAMP 设置为当前日期,默认格式为yyyymmdd 20031217
TSTAMP 设置为当前时间,默认格式为 hhmm 1603
TODAY 设置为当前日期,带完整的月份 2003 年 12 月 17 日
例如,在前一小节中,我们按如下方式创建了一个 JAR 文件:

在调用 tstamp 任务之后,我们能够根据日期命名该 JAR 文件,如下所示:

因此,如果这个任务在 2003 年 12 月 17 日调用,该 JAR 文件将被命名为 package-20031217.jar。
还可以配置 tstamp 任务来设置不同的属性,应用一个当前时间之前或之后的时间偏移,或以不同的方式格式化该字符串。所有这些都是使用一个嵌套的 format 元素来完成的,如下所示:

pattern="HH:mm:ss"
offset="10" unit="minute"/>

上面的清单将 OFFSET_TIME 属性设置为距离当前时间 10 分钟之后的小时数、分钟数和秒数。
用于定义格式字符串的字符与 java.text.SimpleDateFormat 类所定义的那些格式字符相同
4.5 执行SQL语句
通过jdbc执行SQL语句
例子:
1. driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/mydb"
userid="root"
password="root"
src="data.sql"
/>
2. driver="org.database.jdbcDriver"
url="jdbc:database-url"
userid="sa"
password="pass"
src="data.sql"
rdbms="oracle"
version="8.1."
>

只有在oracle、版本是8.1的时候才执行
4.6 发送邮件
使用SMTP服务器发送邮件
例子:



The ${buildname} nightly build has completed




mailhost: SMTP服务器地址
mailport: 服务器端口
subject: 主题
from: 发送人地址
to: 接受人地址
message: 发送的消息
fileset: 设置附件
Sun技术社区 - Java,Solaris,SunONE,JES,StarSuite技术论坛 - Ant应用2 Sun技术社区 - Java,Solaris,SunONE,JES,StarSuite技术论坛 - Ant应用 Sun技术社区 - Java,Solaris,SunONE,JES,StarSuite技术... Sun技术社区 - Java,Solaris,SunONE,JES,StarSuite技术论坛 - 新手请看:Java基础知识——Java入门与加深 Solaris技术 - SUN 中国技术社区 BLOG 中文java技术网::使用ant集成 Sun认证Java程序员 Sun认证Java程序员 ant - java 构建工具 如何安装SUN公司的SOLARIS操作系统------(unix)50分呀!!! Linux/Unix社区 / 系统维护与使用区 - CSDN社区 community.csdn.net MOSS 2007应用日记(1)——如何修改网站URL - SharePoint Server - WinOS中文技术论坛 微软技术社区|专注Windows平台IT Pro技术讨论交流 Java开发技术十年的回顾与展望 , j2,jdk,se,sun,api,版本,技术,su... Matrix - 与 Java 共舞 - 企业应用的Ant模组编译环境 Sun Solaris 10计划开放1000万行源代码 Sun Solaris已是穷途末路 Linux将取而代之 学习java必看 赛迪网技术社区 java面试题-andyaohui -JavaEye技术社区 教育技术资源大全 - 教育技术导论 - 教育技术论坛 专业教育技术学习社区 - Power... [转引]教育技术失误的反思 - 教育技术研究生 - 教育技术论坛 关注教育技术发展与应用|... 技术论坛[应用案例] Sun开源Java 提升到Web 2.0 ant 安装 - - JavaEye技术网站 ant教程详解--javac,java,jar,war,delete,copy,mkdir...2 Matrix - 与 Java 共舞 - Ant实践