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基金会下的跨平台的构件工具,它可以实 ...
随机推荐
- Delphi XE增强的RTTI妙用--动态创建包中的窗口类
以前要在运行时创建package中的form类,必须要在form单元文件中这样注册类: Initialization RegisterClass(TForm3);Finalization UnRe ...
- (二)Spring 之IOC 详解
第一节:spring ioc 简介 IOC(控制反转:Inversion of Control),又称作依赖注入dependency injection( DI ),是一种重要的面向对象编程的法则来削 ...
- Django-manage.py
一.manage.py命令选项 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行.manage.py接受的是Django提供的内置命令. 内 ...
- csu 1548(三分)
1548: Design road Time Limit: 2 Sec Memory Limit: 256 MBSubmit: 383 Solved: 200[Submit][Status][We ...
- First Missing Positive——数学类
转:http://blog.csdn.net/nanjunxiao/article/details/12973173 Given an unsorted integer array, find the ...
- CCTF部分赛题分析
这次算是跟着师傅们全程打完了CCTF的线上赛,一些强队的WriteUp也放了出来.这篇文章主要是想跟着大牛的思路把那些题重新再过一遍. PWN3 这个是格式化字符串漏洞的题.printf的格式化串直接 ...
- 读书笔记|Windows 调试原理学习|持续更新
关于调试方面的学习笔记,主要来源于<软件调试>的读书笔记和梦织未来论坛的视频教程 1.调试器使用一个死循环监听调试信息. DebugActiveProcess(PID);while(TRU ...
- javascript copy text to clipboard
本段代码摘自微软docs网站上,目前需要解决在IE浏览器中触发copy事件的方法,也可以直接调用jquery. <!DOCTYPE html> <html> <head& ...
- C++ 字符串基本操作
C++ 规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值,不同结构体的变量不允许相互赋值,即使这两个变量可能具有相同的成员.在程序中不能同时出现无参构造函数和带有全部默认 ...
- 移动App 的 ios11 和 iPhoneX 适配
原文链接:https://blog.csdn.net/lovelyelfpop/article/details/79460700 WKWebView 调用拨打电话功能 1.HTML 要标记添加标记电话 ...