Ant构建文件解析
<?xml version="1.0" encoding="UTF-8"?>
<!-- 在Ant脚本中,project是这个XML文档的根结点 ,project有以下几个属性:-->
<!-- name:指明构建任务的名称,一般情况下选择要构建的项目名称即可 -->
<!-- default:一个项目可以定义多个target。target就是Ant要执行的动作,在执行Ant时可以选择执行哪个target。
当没有选择执行哪个target时,使用project的default属性指定的target。在调用 Ant脚本时,可以指定要运行的target,
在没有指定target时,就要使用default指定的target,在这里default属性是必须指定的。-->
<!-- basedir:Ant脚本工作的根路径,在一般情况下,我们会把Ant脚本放在构建项目的根目录下,这种情况下的basedir属性的值就可以是".",即把当前目录作为Ant脚本工作的根目录。 -->
<project name="HelloWorld" default="run" basedir=".">
<!-- property用于描述Ant脚本中的属性和Ant脚本这外的properties属性文件。
property相当于定义了一个变量, 这个变量在整个Ant脚本中可以使用。 如:-->
<target name="prop">
<!-- Ant脚本定义的工作根目录 -->
<echo message="${basedir}" />
<!-- Ant版本 -->
<echo message="${ant.version}" />
<!-- Ant脚本文件 -->
<echo message="${ant.file}" />
<!-- Ant脚本定义的工作名称 -->
<echo message="${ant.project.name}" />
<!-- Ant使用的JDK版本 -->
<echo message="${ant.java.version}" />
<!-- 操作系统 -->
<echo message="${os.name}" />
<!-- 把所有的环境变量取出放在env中 ,在后面的程序中可以使用${env.变量名称}来取出-->
<property environment="env" />
<echo message="${env.JAVA_HOME}" />
<echo message="${env.TOMCAT_HOME}" />
</target>
<property name="src" value="src"/>
<property name="dest" value="build/classes" />
<property name="lib" value="build/lib" />
<property name="hello_jar" value="build/lib/hello.jar" />
<!-- 在Ant脚本中把想要做的事情用target描述,每个target描述一件事情,target有以下几个属性: -->
<!-- name:target名称,name属性是必须指定的 -->
<!-- depends:指明各个target之间的依赖关系,一个target可能依赖于其它的target。如果一个target依赖于多个其他的target,只需要在depends中用逗号隔开即可。
depends属性是可选的,不是必须指定的。 -->
<!-- if:指定target所需设定的属性名。 -->
<!-- unless:指定target所需清除的属性名 -->
<!-- description:简单描述target功能。这些描述可由-projecthelp命令在DOS命令行中输出 -->
<target name="init">
<mkdir dir="${dest}" />
<mkdir dir="${lib}" />
</target>
<target name="complie" depends="init">
<javac srcdir="${src}" destdir="${dest}" />
</target>
<target name="build" depends="complie">
<jar destfile="${hello_jar}" basedir="${dest}" >
<manifest>
<attribute name="Main-Class" value="HelloWorld" />
</manifest>
</jar>
</target>
<target name="run" depends="build">
<java classname="com.helloworld.HelloWorld" classpath="${hello_jar}" />
<echo message="${hello_jar}" />
</target>
<target name="clean">
<delete file="${hello_jar}" />
<delete dir="${dest}" />
<delete dir="${lib}" />
</target>
</project>
Ant构建文件解析的更多相关文章
- 深入了解Ant构建工具 命令
深入了解Ant构建工具 标签: ant工具任务jarjavaclass 2010-05-29 21:16 1346人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- 2013.11.15 初学ant构建
该做的事情都差不多做完了,今天开始用ant构建,所以学了下ant,其实要不是因为ubuntu时不时的抽风我应该早就可以开始构建了,但重写的时候也想清楚了一些逻辑,优化了一些地方.下面是我这辈子写的第一 ...
- Ant构建与部署Java项目---入门
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...
- Ant构建原理及build.xml文档描述
最近在改写jmeter,用到ant构建,记录一下. Ant的概念Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant ...
- [Android] 基于 Linux 命令行构建 Android 应用(五):Ant 构建命令
Android SDK 提供的 android 工具可以在项目根目录自动生成 Ant 构建文件 build.xml[1].进入项目根目录后,你可以使用以下 Ant 命令[2]. ant clean 清 ...
- ant构建Jmeter脚本的build文件配置(build.xml)
使用此构建文件可自动发送邮件 代码如下: <?xml version="1.0" encoding="UTF8"?> <project na ...
- [Java] Apache Ant 构建基础教程
环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 J ...
- paper 37 : WINCE的BIB文件解析
WINCE的BIB文件解析 BIB的全称为Binary Image Builder,在Wince编译过程中的最后MakeImage阶段会用到BIB文件,BIB文件的作用是指示构建系统如何构建二进制映像 ...
- Ant构建和部署项目(转)
原文地址: http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html Ant是一个Apache基金会下的跨平台的构件工具,它可以实 ...
随机推荐
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- SG函数(转自百度百科)
给定一个有向无环图和一个起始顶点上的一枚棋子,两名选手交替的将这枚棋子沿有向边进行移动,无法移 动者判负.事实上,这个游戏可以认为是所有Impartial Combinatorial Games的抽象 ...
- 服务器fsockopen函数和pfsockopen函数开启及作用
摘要: fsockopen()函数的作用是可以用来打开一个socket连接,另一个函数pfsockopen()也有相似的功能,只不过后者是一个“持续”(persistent)的fsockopen()函 ...
- mysql建立自增主键的插入,及自动插入当前时间
MYSQL里用这两个字段,几乎都是必须的. 以前都是自动建立的,现在手把手建立的时候,就要找资料来搞定了. 参考URL: http://blog.csdn.net/Weicleer/article/d ...
- 【转载】Xutils3源码解析
Github源码地址:https://github.com/wyouflf/xUtils3 原文地址 :http://www.codekk.com/blogs/detail/54cfab086c476 ...
- LongAdder & AtomicInteger
JDK8 推荐 LongAdder替代 AtomicInteger, AtomicInteger内部是实现使用 (网友使用jad反编译源码 参考 http://ifeve.com/enhanced- ...
- HDU 6060 RXD and dividing(dfs 思维)
RXD and dividing Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- windows 10 下安装python 2.7
下载msi的安装包: https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi [incorrect] PS C:\Python27> . ...
- 最小生成树---->prim算法的应用 hdu1863
畅通工程 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- Hibernate 基于外键的单项一对一关联映射
在开发过程中很多时候会用到表与表之间一对一的关联关系,本文简单介绍在Hibernate4中单项一对一的关联映射. 1.设计表结构 2.创建Person对象 3.创建IdCard对象 4.写hbm.xm ...