- 浏览: 100100 次
- 性别:
- 来自: 北京
最新评论
-
zgmws1978:
抄袭人家的吧
Extjs4.0 实现的后台管理模块 (包含前后台源码) -
luojia.smilence.:
这都下载不了,楼主更新一下链接吧。
史上最全的安卓android开发各种书籍文档资料整理包括书籍介绍和下载 -
429537044:
楼主你好,我想请问一下。 你在MyAccessDecision ...
Spring Security3.1 最新配置实例(spring权限管理) -
jiang_xiaohan:
在别处看过,下载过源码,但没架包的,hibernate我又不熟 ...
Spring Security3.1 最新配置实例(spring权限管理) -
yhr619:
写得挺好的
Spring Security3.1 最新配置实例(spring权限管理)
欢迎访问我的社区资源论坛http://www.javadt.com
一、安装:
http://ant.apache.org/bindownload.cgi 这里有下载地址, (一般Myeclipse里边是集成的)
下载自己想使用的版本把文件放在自己的工作目录里
环境变量:
新加系统变量:ANT_HOME , 内容: d:\ant_home\apche-ant
在PATH环境变量中加入Ant 的bin 目录 :%ANT_HOME%\bin
如果想让Ant支持JUnit, 需要直接讲JUnit的junit.jar 放在Ant 的lib 目录里,并且记得更改CLASSPATH中原有junit的设定,
例如:%ANT_HOME\lib\junit.jar%
对于 windowsXP 、server20003 按下图所示配置:
测试安装:
CMD 下运行Ant 提示内容为
E:\srcgen\webwork>ant
Buildfile:build.xml does not exit
如果你的信息对应了, 那么你的安装配置就成功啦。
二、第一个Ant脚本:
首先编写个 Hello World
package com.test;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
接下来的步骤用Ant来完成:
首先编写个 build.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"></property>
<property name="dest" value="classes" />
<property name="hello_jar" value="hello1.jar" />
<target name="init">
<mkdir dir="${dest}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" />
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}" />
</target>
<target name="run" depends="build">
<java classname="com.test.HelloWorld" classpath="${hello_jar}" />
</target>
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
解释下build.xml 中内容:
<project name="HelloWorld" default="run" basedir=".">
</project>
ant所有配置内容必须包含在这之内,name是自己给取的名字,basedir, 是项目根目录,default 代表默认要做的事情
<property name="src" value="src"></property>
累死程序中变量的作用
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" />
</target>
把每个要做的事情写成一个target, 有名字depends 是他所以来的target执行这个target之前ant 会检查init是否曾经被执行过
如果执行过,则直接执行compile,反之则执行init,之后再执行compile。
例如我们上边所配置:
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" />
</target>
做jar包:
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}" />
</target>
运行:
<target name="run" depends="build">
<java classname="com.test.HelloWorld" classpath="${hello_jar}" />
</target>
新建文件夹:
<target name="init">
<mkdir dir="${dest}" />
</target>
删除生成的文件:
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
再次运行,注意这里写出了如何调用其他target的方法:
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
OK , 接下来检查下ant , cmd 下运行ant 就会发现完成了。每次改完代码后运行里都需要键入ant
如果想重新部署的话那么 cmd 下运行ant build
ant 中每个任务都可以 这样调用 ant + target name
OK, 简单的任务配置完成
三、整合 Ant :
把多个build.xml 整合到一起, 平时项目开发可能每个人负责的地方不一样,所以测试的时候大家都自己写个build.xml
想弄到一起只有两个选择,一个是自己重写build.xml,这个是很麻烦的,一个是尽量用他们写好的,减少自己的工作量。
举例说明:
我们假设有2个组员开发项目,每个组负责部分不同,他们分别有src 和build.xml。
这是如果想把他们两分合到一起, 就需要把他们的src和build.xml 拿来, 并且把build.xml放进他们的src里边
把src改个名字,例如 src1 src2 ,然后建立一个自己要整合用的build.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="main" default="build" basedir=".">
<property name="bin" value="${basedir}\bin"></property>
<property name="src1" value="${basedir}\src1" />
<property name="src2" value="${basedir}\src2" />
<target name="init">
<mkdir dir="${bin}" />
</target>
<target name="run">
<ant dir="${src1}" target="run" />
<ant target="${src2}" target="run" />
</target>
<target name="clean">
<delete dir="${src1}" target="clean" />
<delete dir="${src2}" target="clean" />
</target>
<target name="build" depends="init,call">
<copy todir="${bin}">
<fileset dir="${src1}">
<include name="*.jar"></include>
</fileset>
<fileset dir="${src2}">
<include name="*.jar"></include>
</fileset>
</copy>
</target>
<target name="rebuild" depends="build,clean">
<ant target="clean"></ant>
<ant target="build"></ant>
</target>
</project>
OK , 任务完成。
四、标签
Touch的使用:
如果文件不存在,创建文件,如果存在,更改最后访问时间为系统当前时间
<touch file="myfile" />
如果文件不存在,创建文件,更改最后访问时间为06/28/2000 2:02 pm
<touch file="myfile" datetime="06/28/2000 2:02 pm" />
更改目录下所有文件最后访问时间为06/28/2000 2:02 pm
<touch datetime="06/28/2000 2:02 pm">
<fileset dir="src_dir" />
</touch>
Condition 的使用:
有<and> , <or> ,<not> 等tag
<condition property ="isMacOsButNotMacOsX">
<and>
<os family="mac"/>
<not>
<os family="unix"/>
</not>
</and>
</condition>
替换replace:
<replace
file="configure.sh"
value="defaultvalue"
propertyFile="source/name.properties" >
<replacefilter token="@token1@" />
<replacefilter token="@token2@" value="value2"/>
<replacefilter token="@token3@" property="property.key" />
</replace>
调用chmod:
<chmod perm="go-rwx" type="file" >
<fileset dir="/web">
<include name="**/*.cgi"/>
<include name="**/*.old"/>
</fileset>
<dirset dir="/web">
<include name="**/private_*" />
</dirset>
</chmod>
checksum MD5运算:
md5文件,然后把值加入foo.bar.MD5属性
<checksum file="foo.bar" />
<checksum file="foo.bar" property="foobarMD5"/>
批量MD5文件,指整个目录下的文件,单独建立一个MD5文件,加入所有值。
<checksum>
<fileset dir=".">
<include name="foo*"/>
</fileset>
</checksum>
Available的使用:
1.如果类存在设置Myclass.present为true,否则false
<available classname="org.whatever.Myclass" property="Myclass.present">
2.文件存在设置jaxp.jar.presen为true,否则false
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<available file="${jaxp.jar}" property="jaxp.jar.present">
3.目录存在设置属性为true 否则false
<available file="/usr/local/lib" type="dir" property="local.lib.present">
4.classpath下寻找class ,如果存在设置属性为true 否则false
在工程tag下定义path,在target中使用
工程:
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/>
<path id="jaxp" location="${jaxp.jar}"/>
target:
<available classname="javax.xml.transform.Transfomer" classpathref="jaxp" property="jaxp11.present"/>
5.如果classpath下发现有文件, 则属性为true否则false
<available property="have.extras" resource="extratask.properties">
<classpath>
<pathelement location="/usr/local/ant/extra.jar"
</classpath>
</available>
设置property:
1.设置属性name-value
<property name="foo.dist" value="dist"/>
2.读取属性文件中的配置
<property file="foo.properties"/>
3.读取网络中的property-set
<property url="http://+your url+/bla/pro/foo.properties"/>
4.读取文件中属性配置
<property resource="foo.properties"/>
5.环境变量读取
<property environment="env"/>
6.读取属性文件中属性,引用为全局
<property file="/Users/antoine/.ant-global.properties"/>
错误处理:
1.错误显示方式
<fail>Something wrong here.</fail>
<fail message="${属性}."/> 两种
如果这个属性不存在显示错误
<fail unless="failCondition" message="unless Condition" />
存在的属性错误显示
<fail if="failCondition" message="if Condition" />
符合条件显示错误,这里条件是(没设置属性)
<fail message="tag condition">
<condition>
<not>
<isset property=" failCondition " />
</not>
</condition>
</fail>
OK, END!
发表评论
-
史上最全的安卓android开发各种书籍文档资料整理包括书籍介绍和下载
2012-05-07 13:39 3071史上最全的安卓android开发各种书籍资料整理包括书籍 ... -
收集整理的oracle常用命令大全,解决oracle常见问题
2012-05-02 12:51 4744一、ORACLE的启动和关闭 1、在单机环境下 要 ... -
史上最全html及html5的学习资料文档收集整理包括介绍和下载
2012-04-28 09:21 3304下面是我收集整理的一些关于html5的相关文档和资料,有文档介 ... -
大量的javascript学习资料包括文档介绍下载和源码等
2012-04-26 09:49 1769下面是整理的大量关于javascript的一些资料文档等的介绍 ... -
Java中将中文姓名转换为拼音的简单实现
2012-04-25 09:15 3787以下是源代码:import net.sourceforge.p ... -
SQL语句使用大全,最常用的sql语句
2012-04-23 10:38 2752下列语句部分是Mssql语 ... -
史上最全的安卓android开发各种书籍文档资料整理包括书籍介绍和下载
2012-04-19 10:48 1063史上最全的安卓androi ... -
史上最全的Eclipse各种书籍资料整理包括书籍介绍和下载
2012-04-18 11:02 2511史上最全的Eclipse各种书籍资料整理包括书籍介绍和下 ... -
史上最全的jquery框架各种书籍整理包括书籍介绍和下载
2012-04-17 19:35 2039下面是我近期整理的几乎囊括了所有的jquery的教程和学 ... -
ajax框架prototype.js的各大文档整理积累文档的介绍和下载
2012-04-16 08:03 1167下面是整理的ajax框架prototype框架的一些文档 ... -
Microsoft Silverlight 4.0 介绍[PDF]
2012-04-15 18:55 1393Microsoft Silverlight 4.0 ... -
XML详细入门教程[PDF]
2012-04-15 18:40 2298本文档是一份很详 ... -
webQQ协议java的实现方法
2012-04-13 10:39 2335转载自:http://www.javadt.com/arti ... -
“为什么有钱有权的都移民了”?“贫贱不能移!”
2012-04-13 10:12 3转载自:“为什么有钱有权的都移民了”?“贫贱不能移!” ht ... -
JAVA 部署TOMCAT+IIS配置方法
2012-04-12 12:58 2735本文转载自:http://www.javadt.co ... -
android开发环境搭建以及配置方法[PDF]
2012-04-12 09:59 1023转载自:http://www.javadt.com/artic ... -
《JAVA代码规范》(六)通用代码格式 - 语句、SQL(2.9-2.10)
2012-04-12 21:40 1168转载自:http://www.javadt.c ... -
《JAVA代码规范》(五)通用代码格式 - 声明(2.8)
2012-04-11 20:56 873转载自:http://www.javadt.com/threa ... -
《JAVA代码规范》(四)通用代码格式 - 注释(2.7)
2012-04-11 20:55 1187转载自:http://www.javadt.c ... -
《JAVA代码规范》(三)通用代码格式 - 缩进、行长度、换行、空行、空格(2.2-2.6) ... ...
2012-04-11 20:54 8325转载自:http://www.javadt.com/threa ...
相关推荐
ANT安装与使用教程 ANT(Another Neat Tool)是一款基于Java的自动化构建工具,广泛应用于软件开发、测试和部署过程中。以下是ANT安装与使用教程,旨在帮助项目部署人员快速掌握ANT的安装和基本使用。 硬件环境 ...
- 解压缩到你希望安装的位置,例如`C:\tools\apache-ant-X.Y.Z`,其中`X.Y.Z`是Ant的版本号。 - 设置环境变量`ANT_HOME`,将其值设为Ant的安装目录,如`C:\tools\apache-ant-X.Y.Z`。 - 将 `%ANT_HOME%\bin` 添加...
### Ant安装编译操作手册知识点解析 #### 一、引言 - **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目...
需要注意的是,如果不想将Ant安装在/usr/local目录下,而是选择在用户的个人目录,可以简化上述步骤,只需获取root权限,修改bashrc文件并添加环境变量。这样不会涉及到权限和软连接的问题。 总之,正确安装和配置...
### Ant安装与配置详解 Ant(Apache Ant)是一款开源的Java构建工具,广泛应用于Java项目的自动化构建、编译、测试和部署等流程中。对于初次接触Web开发的新手来说,熟练掌握Ant的安装与配置是必不可少的一环。下面...
### Ant的下载、安装与基本使用详解 #### 一、Ant简介 Apache Ant是一个开源的、跨平台的Java编译工具,它使用XML格式的构建文件(通常为`build.xml`)来描述项目的构建过程。Ant能够自动化执行一系列任务,如编译...
在本文中,我们将详细介绍如何下载和安装Ant。 **一、Ant的下载** 1. 访问官方网站:首先,你需要访问Apache Ant的官方网站,地址是`https://ant.apache.org/`。在网站上,你可以找到最新版本的Ant以及其他相关...
4. **跨平台**:由于其基于Java,Ant可以在任何安装了Java运行环境的平台上运行,这极大地方便了跨平台的开发工作。 在构建过程中,Ant使用目标(target)来组织任务,目标之间可以有依赖关系。例如,一个常见的...
2. 解压:将下载的zip文件解压到任意目录,例如C:\ant。 3. 配置环境变量:在系统环境变量PATH中添加Ant的bin目录,如C:\ant\bin。 4. 验证安装:在命令行中输入`ant -version`,如果显示Ant的版本信息,则表示安装...
### ant安装搭建安装文档 #### 一、简介 Apache Ant 是一个 Java 平台上的构建工具,主要用于自动化软件编译、测试、部署等任务。它使用 XML 来描述构建过程,支持跨平台运行(Windows、Linux等)。本文档将详细...
在 Windows 系统中,需设置 `%ANT_HOME%` 并将 `%ANT_HOME%\bin` 添加到 `%PATH%` 环境变量中。 4. **测试**:运行 `ant` 命令来检查安装是否成功。初次运行可能会提示 `Buildfile: build.xml does not exist! ...
安装Ant非常简单,通常包括下载`.zip`包,将其解压到合适的目录,并设置环境变量。`ANT_HOME`应指向Ant的安装目录,而`PATH`环境变量需包含`ANT_HOME/bin`子目录,这样在命令行中就可以直接运行`ant`命令了。如果还...
"Ant+Tutorial.doc"可能深入到Ant的高级特性,包括使用条件语句(if/else)、属性文件、通配符选择器、宏定义(macrodef)以及自定义任务。通过属性文件,可以外部化配置信息,使构建更具灵活性。宏定义则允许用户...
Ant是Java项目管理和自动化构建的重要工具,尤其在早期的Java EE应用开发中广泛使用。本文将深入探讨Ant的使用指南和教程,帮助你掌握其基本概念和实际操作。 1. Ant基本概念: - 构建文件:Ant的核心是构建文件,...
Ant的优势在于其灵活性和易用性,它使用XML(可扩展标记语言)来描述构建过程,这种描述性语言允许开发者定义编译源代码、运行测试、打包成JAR文件、部署到服务器等任务的具体步骤。 通过学习Ant,Java开发者可以...
Ant 有很多内置的(即你安装完 ant 之后就可以直接使用的任务)任务,但是也可以添加自己定义的任务。 如何开始使用 Ant? 1. 确保你的机器已经安装了 JDK,确保你的 path 环境变量中包含有 java 虚拟机的运行程序...