<?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. Delphi XE增强的RTTI妙用--动态创建包中的窗口类

    以前要在运行时创建package中的form类,必须要在form单元文件中这样注册类: Initialization  RegisterClass(TForm3);Finalization  UnRe ...

  2. (二)Spring 之IOC 详解

    第一节:spring ioc 简介 IOC(控制反转:Inversion of Control),又称作依赖注入dependency injection( DI ),是一种重要的面向对象编程的法则来削 ...

  3. Django-manage.py

    一.manage.py命令选项 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行.manage.py接受的是Django提供的内置命令. 内 ...

  4. csu 1548(三分)

    1548: Design road Time Limit: 2 Sec  Memory Limit: 256 MBSubmit: 383  Solved: 200[Submit][Status][We ...

  5. First Missing Positive——数学类

    转:http://blog.csdn.net/nanjunxiao/article/details/12973173 Given an unsorted integer array, find the ...

  6. CCTF部分赛题分析

    这次算是跟着师傅们全程打完了CCTF的线上赛,一些强队的WriteUp也放了出来.这篇文章主要是想跟着大牛的思路把那些题重新再过一遍. PWN3 这个是格式化字符串漏洞的题.printf的格式化串直接 ...

  7. 读书笔记|Windows 调试原理学习|持续更新

    关于调试方面的学习笔记,主要来源于<软件调试>的读书笔记和梦织未来论坛的视频教程 1.调试器使用一个死循环监听调试信息. DebugActiveProcess(PID);while(TRU ...

  8. javascript copy text to clipboard

    本段代码摘自微软docs网站上,目前需要解决在IE浏览器中触发copy事件的方法,也可以直接调用jquery. <!DOCTYPE html> <html> <head& ...

  9. C++ 字符串基本操作

    C++ 规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值,不同结构体的变量不允许相互赋值,即使这两个变量可能具有相同的成员.在程序中不能同时出现无参构造函数和带有全部默认 ...

  10. 移动App 的 ios11 和 iPhoneX 适配

    原文链接:https://blog.csdn.net/lovelyelfpop/article/details/79460700 WKWebView 调用拨打电话功能 1.HTML 要标记添加标记电话 ...