<?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构建文件解析的更多相关文章

  1. 深入了解Ant构建工具 命令

    深入了解Ant构建工具 标签: ant工具任务jarjavaclass 2010-05-29 21:16 1346人阅读 评论(2) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  2. 2013.11.15 初学ant构建

    该做的事情都差不多做完了,今天开始用ant构建,所以学了下ant,其实要不是因为ubuntu时不时的抽风我应该早就可以开始构建了,但重写的时候也想清楚了一些逻辑,优化了一些地方.下面是我这辈子写的第一 ...

  3. Ant构建与部署Java项目---入门

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...

  4. Ant构建原理及build.xml文档描述

    最近在改写jmeter,用到ant构建,记录一下. Ant的概念Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant ...

  5. [Android] 基于 Linux 命令行构建 Android 应用(五):Ant 构建命令

    Android SDK 提供的 android 工具可以在项目根目录自动生成 Ant 构建文件 build.xml[1].进入项目根目录后,你可以使用以下 Ant 命令[2]. ant clean 清 ...

  6. ant构建Jmeter脚本的build文件配置(build.xml)

    使用此构建文件可自动发送邮件  代码如下: <?xml version="1.0" encoding="UTF8"?> <project na ...

  7. [Java] Apache Ant 构建基础教程

    环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 J ...

  8. paper 37 : WINCE的BIB文件解析

    WINCE的BIB文件解析 BIB的全称为Binary Image Builder,在Wince编译过程中的最后MakeImage阶段会用到BIB文件,BIB文件的作用是指示构建系统如何构建二进制映像 ...

  9. Ant构建和部署项目(转)

    原文地址: http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html Ant是一个Apache基金会下的跨平台的构件工具,它可以实 ...

随机推荐

  1. 版本控制软件——tortoiseSVN的基础使用

    零 基本功能介绍... 2 一 安装及下载client端... 2 二 登陆和文件下载... 2 三 新增档案及目录到服务器中... 4 四 文件对比... 13 4.1 文件回溯... 13 4.2 ...

  2. CSS背景横向平铺BUG,解决方法

    给定DIV一个背景图片横向平铺,缩小浏览器,拉动横向滚动条,此时触发此BUG:背景图片平铺不完整 解决办法: 1.把背景图片写在BODY上,此办法局限于没有使用iframe的情况下,所以少用 2.设定 ...

  3. [目标检测]RCNN系列原理

    1 RCNN 1.1 训练过程 (1) 训练时采用fine-tune方式: 先用Imagenet(1000类)训练,再用PASCAL VOC(21)类来fine-tune.使用这种方式训练能够提高8个 ...

  4. Python--re模块的findall等用法

    1)正则表达式含义 . # 点可代表一切字符 \ # 起转义作用 [...] # 指代方括号中的任意字符 \d # 指代数字0-9 \D # 指代非数字 \s # 指代一切空格,包括tab制表符.空格 ...

  5. Linux平台上SQLite数据库教程(一)——终端使用篇

    https://blog.csdn.net/u011192270/article/details/48031763 https://blog.csdn.net/fml1997/article/deta ...

  6. nginx配置tomcat集群

    显示nginx的核心配置 #user nobody;worker_processes 1; events { worker_connections 1024;    #并发连接数} http { in ...

  7. Codeforces Round #292 (Div. 1) C - Drazil and Park

    C - Drazil and Park 每个点有两个值Li 和 Bi,求Li + Rj (i < j) 的最大值,这个可以用线段树巧妙的维护.. #include<bits/stdc++. ...

  8. mysql 事务回滚

    begindeclare t_error integer default 0;  //添加变量t_error并赋初始值为0declare continue handler for sqlexcepti ...

  9. shell-命令行参数(转)

    命令行参数 (转自http://c.biancheng.net/cpp/view/2739.html) 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字, ...

  10. 洛谷P4171 [JSOI2010] 满汉全席 [2-SAT,Tarjan]

    题目传送门 满汉全席 题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉 ...