Ant 之 Task
Ant提供了大量的核心task和可选task,除此之外,Ant还允许用户定义自己的task,这大大扩展了Ant的功能。
本书由于篇幅关系,所以不可能详细介绍Ant所有的核心task和可选task,本书将会简要介绍一些常用的核心task。
—javac:用于编译一个或者多个Java源文件,通常需要srcdir和destdir两个属性,用于指定Java源文件的位置和编译后class文件的保存位置。
—java:用于运行某个Java类,通常需要classname属性,用于指定需要运行哪个类。
—jar:用于生成JAR包,通常需要指定destfile属性,用于指定所创建JAR包的文件名。除此之外,通常还应指定一个文件集,表明需要将哪些文件打包到JAR包里。
—sql:用于执行一条或多条SQL语句,通常需要driver、url、userid和password等属性,用于指定连接数据库的驱动类、数据库URL、用户名和密码等,还可以通过src来指定需要指定的SQL脚本文件,或者直接使用文本内容的方式指定SQL脚本字符串。
—echo:输出某个字符串。
—exec:执行操作系统的特定命令,通常需要executable属性,用于指定想执行的命令。
—copy:用于复制文件或路径。
—delete:用于删除文件或路径。
—mkdir:用于创建文件夹。
—move:用户移动文件和路径。
提示:%ANT_HOME%/docs/manual/CoreTasks路径下包含了Ant所有核心 task的详细介绍,而%ANT_HOME%/docs/manual/OptionalTasks路径下包含了Ant所有可循task的详细介绍。
=========================================================================================================
例如:build.xml文件如下:
<?xml version="1.0" encoding="GBK"?>
[code]<!-- 定义生成文件的project根元素,默认的target为空 -->
<project name="antQs" basedir="." default="">
<!-- 定义三个简单属性 -->
<property name="src" value="src"/>
<property name="classes" value="classes"/>
<property name="dest" value="dest"/>
<!-- 定义一组文件和目录集 -->
<path id="classpath">
<pathelement path="${classes}"/>
</path>
<!-- 定义help target,用于输出该生成文件的帮助信息 -->
<target name="help" description="打印帮助信息">
<echo>help - 打印帮助信息</echo>
<echo>compile - 编译Java源文件</echo>
<echo>run - 运行程序</echo>
<echo>build - 打包JAR包</echo>
<echo>clean - 清除所有编译生成的文件</echo>
</target>
<!-- 定义compile target,用于编译Java源文件 -->
<target name="compile" description="编译Java源文件">
<!-- 先删除classes属性所代表的文件夹 -->
<delete dir="${classes}"/>
<!-- 创建classes属性所代表的文件夹 -->
<mkdir dir="${classes}"/>
<!-- 编译Java文件,编译后的class文件放到classes属性所代表的文件夹内 -->
<javac destdir="${classes}" debug="true"
deprecation="false" optimize="false" fail>
<!-- 指定需要编译的Java文件所在的位置 -->
<src path="${src}"/>
<!-- 指定编译Java文件所需要第三方类库所在的位置 -->
<classpath refid="classpath"/>
</javac>
</target>
<!-- 定义run target,用于运行Java源文件,
运行该target之前会先运行compile target -->
<target name="run" description="运行程序" depends="compile">
<!-- 运行lee.HelloTest类,其中fork指定启动另一个JVM来执行java命令 -->
<java classname="lee.HelloTest" fork="yes" fail>
<classpath refid="classpath"/>
<!-- 运行Java程序时传入2个参数 -->
<arg line="测试参数1 测试参数2"/>
</java>
</target>
<!-- 定义build target,用于打包JAR文件,
运行该target之前会先运行compile target -->
<target name="build" description="打包JAR文件" depends="compile">
<!-- 先删除dest属性所代表的文件夹 -->
<delete dir="${dest}"/>
<!-- 创建dest属性所代表的文件夹 -->
<mkdir dir="${dest}"/>
<!-- 指定将classes属性所代表的文件夹下的所有
*.classes文件都打包到app.jar文件中 -->
<jar destfile="${dest}/app.jar" basedir="${classes}"
includes="**/*.class">
<!-- 为JAR包的清单文件添加属性 -->
<manifest>
<attribute name="Main-Class" value="lee.HelloTest"/>
</manifest>
</jar>
</target>
<!-- 定义clean target,用于删除所有编译生成的文件 -->
<target name="clean" description="清除所有编译生成的文件">
<!-- 删除两个目录,目录下的文件也一并删除 -->
<delete dir="${classes}"/>
<delete dir="${dest}"/>
</target>
</project>
转自--------------------http://blog.sina.com.cn/s/blog_6870d1e00100ixdx.html
Ant 之 Task的更多相关文章
- ANT task之Junit、JunitReport
一.ANT任务之Junit: 学习ANT其实主要是学习ANT的task,ANT众多task中有一个Testing Tasks,它下面有两个任务:Junit和JunitReport,主要用来进行单元测试 ...
- [Groovy]Groovy with Ant Task
平时经常会用Ant来写一写脚本,但最近跨入到Groovy的时代,试着做一些改变.Groovy里集成了AntBuilder能非常方便的调用到Ant的对象模型. 现考察如下 1. Groovy里定义的属性 ...
- Ant:build.xml 结构
Ant build.xml 结构 project target task data property datatype v\:* {behavior:url(#default#VML);} o\:* ...
- 使用 Ant 自动生成项目构建版本
引言 对 于多版本项目,要提供新版本来跟上新功能或缺陷报告增加的速度,并同时仍然保持可接受的质量水平,可能是一项不小的挑战.构建自动化可确保准确性和消除人 为错误的可能性,从而部分地解决此问题.自动化 ...
- ant exec
http://ant.apache.org/manual/Tasks/exec.html Exec Description Executes a system command. When the os ...
- Ant学习笔记(1) 基础知识
Ant Apache Ant 是一个基于 Java的构建工具. 下载Ant google.baidu.Windows用户下载zip格式.解压即可. Windows安装Ant Ant本质上是一个Java ...
- Ant 参考
http://ant.apache.org/manual/Tasks/exec.html Exec Description Executes a system command. When the os ...
- 转:利用ant与jmeter实现负载测试自动化
性能测试一直以来都是测试领域一个令人争议的话题.测试的参考标准.评判依据及测试的方法选择都很难有一个统一的说法.但无论如何,对于需要能够承受一定压力而运行的程序来说,进行其进行功能和性能测试是一个必不 ...
- gradle 构建工具,与Ant Maven关系
1 基本概念 gradle是一个基于Apache ant 和apache maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的xml.当前其支持 ...
随机推荐
- node-disconf-client基本配置
node-disconf-client 需要cppm install node-disconf-client var disconf = require (' node-disconf-clien ...
- pycharm中查找替换妙用
1.二行空格变一行(转载https://www.cnblogs.com/dreamfine/p/7760575.html) 网上COPY的代码,经常多出一个空行,不用一行行删除了,用替换功能吧,查找 ...
- docker pull centos慢问题的解决方案
1.现象 如果直接docker pull centos 两个小时才down下来8M,很慢 2.解决 [root@localhost network-scripts]# cd /etc/docker [ ...
- vue eslint 代码自动格式化
vue-cli 代码风格为 JavaScript Standard Style 代码检查规范严格,一不小心就无法运行,使用eslint的autoFixOnSave可以在保存代码的时候自动格式化代码 V ...
- 机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)
1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2) # 对两个图像关键点进行连线操作 参数说明:im ...
- WPF线性渐变画刷应用之——炫彩线条
效果图: Xaml代码: <Rectangle Width="800" Height="10"> <Rectangle.Fill> &l ...
- SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)
一.导包: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa ...
- CSS 点击事件
:active 伪类向激活(在鼠标点击与释放之间发生的事件)的元素添加特殊的样式. 这个伪类应用于处于激活状态的元素.最常见的例子就是在 HTML 文档中点击一个超链接:在鼠标按钮按下期间,这个链接是 ...
- python正则表达式查找汉字
使用正则表达是查找汉字之前,要将所有的字符串都转码成utf8 import re string_test = "This is test string 这是测试字符串" strin ...
- vue:页面跳转和传参(页面之间,父传子,子传父)
1.返回上一个页面: A.<a @click="$router.back(-1)" class="btn">重新加载</a> B.thi ...