- 浏览: 258878 次
- 性别:
- 来自: 未定
文章分类
最新评论
-
zl544434558:
最后一行</filter> 多余的
Springmvc 乱码问题 -
imknown:
方法有效,感谢博主!
Springmvc 乱码问题 -
notafreak:
方法有效,感谢博主
Springmvc 乱码问题 -
linvar:
ligangdufs 写道 what about resin ...
Springmvc 乱码问题 -
ligangdufs:
what about resin
Springmvc 乱码问题
Ant的使用
Ant,以我自身的理解,它的作用类似与Linux下的makefile,可以对软件项目进行编译、生成文档、单元测试、打包、部署等;但又不同与makefile,因为makefile是基于shell的构建工具,但Ant是基于Java的构建工具,且使用Java语言可以很容易的对它进行扩展,Ant是基于XML的书写格式。
一、安装Ant
1、 先将Ant解压到一个目录,假如解压到D:\ant
2、 设置环境变量
set ANT_HOME=d:\ant
set PATH=%PATH%;%ANT_HOME%\bin
二、使用Ant
Ant的构建文件是用XML格式书写的,每个build文件包含一个project和至少一个默认的target。
<?xml version="1.0" encoding="UTF-8"?>
<project name="jartest" default="jar" basedir=".">
<target name="jar" depends="war">
<jar jarfile="${basedir}/Operation.jar">
<fileset dir="bin">
<include name="**/*.class" />
</fileset>
<!--
<fileset dir="src">
<include name="jndi.properties"/>
</fileset>
-->
</jar>
</target>
<target name="war">
<war warfile="OperationTest.war" webxml="web/WEB-INF/web.xml">
<fileset dir="web">
<include name="**/*.jsp"/>
</fileset>
</war>
</target>
</project>
1、 Project
Project有三个属性name,default,basedir
Name:Project的名字
Default:build文件运行时默认的target
Basedir:进行项目构建的根目录,如果没有设置此项,则默认与build文件同目录
2、 Target
一个Target可以依赖于其它多个Target,
<target name="A"/>
<target name="B" depends="A"/>
想要执行B必需先执行A
Target的属性:name,depends,if,unless,description
Name:Target的名字
Depends:执行当前Target时需要依赖的Target
If:这个属性的名字必需设置,当前的Target才能执行
<target name="A" if="file"/>
Unless:这个属性的名字必需不能设置,当前的Target才能执行
<target name="A" unless="file"/>
Description:对当前Target的一段描述
3、 Tasks
具体需求执行的任务,这个就有很多了,如:WAR, EAR, JAVAC, JAVA, JAR, COPY, COPYDIR, COPYFILE, MKDIR, MOVE, DELETE, ECHO, EXEC, UNZIP, ZIP, TAR, UNJAR, UNTAR, UNWAR, SCP, FTP, TELNET, 等等,以下是各Task的属性介绍:
(1) Javac:编译Java源文件
Srcdir:Java文件的目录
Destdir:Class文件的保存目录
Includes:需要包含哪些文件
Excludes:不包含哪些文件
Classpath:编译时需要引用的classpath
Debug:编译时是否包含debug信息
<javac destdir="${build}" classpath="xyz.jar" debug="on">
<src path="${src}"/>
<src path="${src2}"/>
<include name="mypackage/p1/**"/>
<include name="mypackage/p2/**"/>
<exclude name="mypackage/p1/testpackage/**"/>
</javac>
(2) Java:运行class文件
Classname:需要执行的class文件名
Jar:需要执行的jar文件,必须包含程序入口类,有Main方法的类
Args:执行class需要的参数
Classpath:需要使用的classpath
<java jar="dist/test.jar" fork="true" failonerror="true" maxmemory="128m">
<arg value="-h"/>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
(3) Jar:将多个class文件打成一个jar包
Destfile:需要创建的jar文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
/>
(4) War:将文件打包成War文件
Destfile:需要创建的war文件名
Webxml:web.xml文件的路径及文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs"
prefix="images"/>
</war>
(5) Ear:将文件打包成Ear文件
Destfile:需要创建的ear文件名
appxml:META-INF/application.xml文件的路径及文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
<fileset dir="${build.dir}" includes="*.jar,*.war"/>
</ear>
(6) Mkdir:创建一个目录
<mkdir dir="${dist}"/>
(7) Delete:删除一个文件,或文件夹及其包含的文件
File:需要删除的文件名
Dir:需要删除的目录
<delete file="/lib/ant.jar"/>
<delete dir="lib"/>
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
4、 Properties
一个Project可以设置多个Property,可以在build文件内使用,也可以通过Ant命令使用
(1) 在build文件内
<property name="build" location="build"/>
<delete dir="${build}"/>
(2) 通过Ant命令,使用选项为:-Dproperty=value
<property name="build" location="build"/>
执行Ant命令:ant –Dbuild=aa 则location的值就变为aa了
设置Property的六种方式
(1) 通过name,value的属性设置
<property name="foo.dist" value="dist"/>
(2) 通过name,refid的属性设置
(3) 通过file,url,resource属性设置,foo.properties是键值对的属性文件
<property file="foo.properties"/>
<property resource="foo.properties"/>
<property url="http://www.mysite.com/bla/props/foo.properties"/>
(4) 通过environment属性设置,获得环境变量
<property environment="env"/>
<echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>
三、运行Ant
ant [options] [target [target2 [target3] ...]]
Options:
-help, -h print this message
-projecthelp, -p print project help information
-version print the version information and exit
-diagnostics print information that might be helpful to
diagnose or report problems.
-quiet, -q be extra quiet
-verbose, -v be extra verbose
-debug, -d print debugging information
-emacs, -e produce logging information without adornments
-lib <path> specifies a path to search for jars and classes
-logfile <file> use given file for log
-l <file> ''
-logger <classname> the class which is to perform logging
-listener <classname> add an instance of class as a project listener
-noinput do not allow interactive input
-buildfile <file> use given buildfile
-file <file> ''
-f <file> ''
-D<property>=<value> use value for given property
-keep-going, -k execute all targets that do not depend
on failed target(s)
-propertyfile <name> load all properties from file with -D
properties taking precedence
-inputhandler <class> the class which will handle input requests
-find <file> (s)earch for buildfile towards the root of
-s <file> the filesystem and use it
-nice number A niceness value for the main thread:
1 (lowest) to 10 (highest); 5 is the default
-nouserlib Run ant without using the jar files from ${user.home}/.ant/lib
-noclasspath Run ant without using CLASSPATH
如:ant -buildfile test.xml -Dbuild=build/classes dist[size=large][/size]
Ant,以我自身的理解,它的作用类似与Linux下的makefile,可以对软件项目进行编译、生成文档、单元测试、打包、部署等;但又不同与makefile,因为makefile是基于shell的构建工具,但Ant是基于Java的构建工具,且使用Java语言可以很容易的对它进行扩展,Ant是基于XML的书写格式。
一、安装Ant
1、 先将Ant解压到一个目录,假如解压到D:\ant
2、 设置环境变量
set ANT_HOME=d:\ant
set PATH=%PATH%;%ANT_HOME%\bin
二、使用Ant
Ant的构建文件是用XML格式书写的,每个build文件包含一个project和至少一个默认的target。
<?xml version="1.0" encoding="UTF-8"?>
<project name="jartest" default="jar" basedir=".">
<target name="jar" depends="war">
<jar jarfile="${basedir}/Operation.jar">
<fileset dir="bin">
<include name="**/*.class" />
</fileset>
<!--
<fileset dir="src">
<include name="jndi.properties"/>
</fileset>
-->
</jar>
</target>
<target name="war">
<war warfile="OperationTest.war" webxml="web/WEB-INF/web.xml">
<fileset dir="web">
<include name="**/*.jsp"/>
</fileset>
</war>
</target>
</project>
1、 Project
Project有三个属性name,default,basedir
Name:Project的名字
Default:build文件运行时默认的target
Basedir:进行项目构建的根目录,如果没有设置此项,则默认与build文件同目录
2、 Target
一个Target可以依赖于其它多个Target,
<target name="A"/>
<target name="B" depends="A"/>
想要执行B必需先执行A
Target的属性:name,depends,if,unless,description
Name:Target的名字
Depends:执行当前Target时需要依赖的Target
If:这个属性的名字必需设置,当前的Target才能执行
<target name="A" if="file"/>
Unless:这个属性的名字必需不能设置,当前的Target才能执行
<target name="A" unless="file"/>
Description:对当前Target的一段描述
3、 Tasks
具体需求执行的任务,这个就有很多了,如:WAR, EAR, JAVAC, JAVA, JAR, COPY, COPYDIR, COPYFILE, MKDIR, MOVE, DELETE, ECHO, EXEC, UNZIP, ZIP, TAR, UNJAR, UNTAR, UNWAR, SCP, FTP, TELNET, 等等,以下是各Task的属性介绍:
(1) Javac:编译Java源文件
Srcdir:Java文件的目录
Destdir:Class文件的保存目录
Includes:需要包含哪些文件
Excludes:不包含哪些文件
Classpath:编译时需要引用的classpath
Debug:编译时是否包含debug信息
<javac destdir="${build}" classpath="xyz.jar" debug="on">
<src path="${src}"/>
<src path="${src2}"/>
<include name="mypackage/p1/**"/>
<include name="mypackage/p2/**"/>
<exclude name="mypackage/p1/testpackage/**"/>
</javac>
(2) Java:运行class文件
Classname:需要执行的class文件名
Jar:需要执行的jar文件,必须包含程序入口类,有Main方法的类
Args:执行class需要的参数
Classpath:需要使用的classpath
<java jar="dist/test.jar" fork="true" failonerror="true" maxmemory="128m">
<arg value="-h"/>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
(3) Jar:将多个class文件打成一个jar包
Destfile:需要创建的jar文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
/>
(4) War:将文件打包成War文件
Destfile:需要创建的war文件名
Webxml:web.xml文件的路径及文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs"
prefix="images"/>
</war>
(5) Ear:将文件打包成Ear文件
Destfile:需要创建的ear文件名
appxml:META-INF/application.xml文件的路径及文件名
Basedir:文件的来源
Includes:需要包含哪些文件
Excludes:不包含哪些文件
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
<fileset dir="${build.dir}" includes="*.jar,*.war"/>
</ear>
(6) Mkdir:创建一个目录
<mkdir dir="${dist}"/>
(7) Delete:删除一个文件,或文件夹及其包含的文件
File:需要删除的文件名
Dir:需要删除的目录
<delete file="/lib/ant.jar"/>
<delete dir="lib"/>
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
4、 Properties
一个Project可以设置多个Property,可以在build文件内使用,也可以通过Ant命令使用
(1) 在build文件内
<property name="build" location="build"/>
<delete dir="${build}"/>
(2) 通过Ant命令,使用选项为:-Dproperty=value
<property name="build" location="build"/>
执行Ant命令:ant –Dbuild=aa 则location的值就变为aa了
设置Property的六种方式
(1) 通过name,value的属性设置
<property name="foo.dist" value="dist"/>
(2) 通过name,refid的属性设置
(3) 通过file,url,resource属性设置,foo.properties是键值对的属性文件
<property file="foo.properties"/>
<property resource="foo.properties"/>
<property url="http://www.mysite.com/bla/props/foo.properties"/>
(4) 通过environment属性设置,获得环境变量
<property environment="env"/>
<echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>
三、运行Ant
ant [options] [target [target2 [target3] ...]]
Options:
-help, -h print this message
-projecthelp, -p print project help information
-version print the version information and exit
-diagnostics print information that might be helpful to
diagnose or report problems.
-quiet, -q be extra quiet
-verbose, -v be extra verbose
-debug, -d print debugging information
-emacs, -e produce logging information without adornments
-lib <path> specifies a path to search for jars and classes
-logfile <file> use given file for log
-l <file> ''
-logger <classname> the class which is to perform logging
-listener <classname> add an instance of class as a project listener
-noinput do not allow interactive input
-buildfile <file> use given buildfile
-file <file> ''
-f <file> ''
-D<property>=<value> use value for given property
-keep-going, -k execute all targets that do not depend
on failed target(s)
-propertyfile <name> load all properties from file with -D
properties taking precedence
-inputhandler <class> the class which will handle input requests
-find <file> (s)earch for buildfile towards the root of
-s <file> the filesystem and use it
-nice number A niceness value for the main thread:
1 (lowest) to 10 (highest); 5 is the default
-nouserlib Run ant without using the jar files from ${user.home}/.ant/lib
-noclasspath Run ant without using CLASSPATH
如:ant -buildfile test.xml -Dbuild=build/classes dist[size=large][/size]
发表评论
-
Springmvc 乱码问题
2012-08-24 22:54 12105后端的Tomcat server.xml里配置的<Con ... -
logback note
2012-04-01 16:35 01.logback核心 a.Logger(记录者), b.A ... -
java Cookie
2011-11-01 21:33 1377cookie的组成部分: key, value, maxage ... -
java 正则表达式
2011-10-30 14:53 2140正则表达式的关键是 创建用于"在源字符串中匹配出某些 ... -
java email
2011-10-27 17:04 0http://coolshell.cn/articles/42 ... -
java 定时器
2011-10-27 11:26 01.java.util.Timer 1.1 对应单个后台线程 ... -
Resin note1
2011-06-27 23:11 1656<cluster-default> ... -
Maven note2
2011-04-25 14:16 01.The Build Lifecycle A build ... -
Maven note1
2011-04-24 18:07 01.What is Maven Although there ... -
freemarker使用总结
2010-06-20 16:51 35041.freemarker在使用spring MVC时会出现乱 ... -
springmvc 笔记
2010-05-22 10:27 6830struct2很不好用,springmvc比较给力,跟spr ... -
ibatis3 的返回值
2010-05-11 16:43 1179当执行sqlSession.selectOne("& ... -
java static util, helper
2010-04-18 19:50 1573我们经常会写一些util,helper类, 而一般这些类的方 ... -
Quartz 使用笔记
2010-04-16 21:35 14181.Quartz的主要构件: SchedulerFactory ... -
pinyin4j 笔记
2010-04-05 21:00 1804最近需要将城市名称转换为拼音去访问google weather ... -
ibatis3 的变量
2010-04-05 10:12 1754ibatis的变量其实没什么特别,就是使用#{}定义, 比如 ... -
VPS中的resin3.1和tomcat6
2010-03-28 11:00 1762兴冲冲地在VPS安装了jdk1.6, resin-pro-3. ... -
java URL encoding and decoding
2010-03-19 09:48 8673HTML编码规则是: 字符"a"-&quo ... -
Cookie小解
2010-03-18 19:27 1250Cookie是客户端与服务器 ... -
ibatis3的使用参考
2010-03-12 17:03 3947以前用过ibatis2,但是听说ibatis3有较大的性能提升 ...
相关推荐
Ant 使用详细介绍 Ant 是什么? Ant 是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。Ant 究竟能做什么呢?这取决于 Ant 的任务(Task),Ant 有...
"Ant使用指南.pdf"和"Ant.pdf"可能是更全面的Ant使用手册,包含详细的API文档和使用案例,帮助开发者深入理解Ant的各个方面。 总的来说,Ant是一个强大的工具,通过学习以上文档,初学者能够掌握Ant的基础和进阶...
这个“Ant使用指南”涵盖了Ant的基本概念、配置、任务和实战应用,旨在帮助开发者更好地理解和使用Ant。 1. **Ant简介** - Ant是一个基于Java的构建工具,其设计目标是简化Java项目的构建过程,通过XML描述构建...
通过阅读"ant指南"和"ant使用教程",你将深入理解Ant的工作原理,学会编写和执行Ant构建文件,从而提高Java项目的构建效率。不论你是新手还是经验丰富的开发者,这些资源都将为你的项目管理提供有力支持。
在"Apache Ant 使用指南"这本书中,你可能会学习到以下关键知识点: 1. **Ant基本概念**:了解Ant的基本结构,包括项目(Project)、目标(Target)、任务(Task)和属性(Property)。项目是构建的顶级容器,目标...
- **属性(Properties)**:Ant支持定义和使用属性,类似于变量,可以用于在整个构建文件中传递值。 - **任务(Tasks)**:Ant提供了一系列内置的任务,如`<javac>`用于编译Java源码,`<copy>`用于复制文件,`...
### ANT使用指南详解 #### 一、导言 Apache Ant 是一款开源的Java构建工具,类似于传统的Unix Make工具。Ant采用XML格式来定义构建过程,提供了丰富的任务(task)集合,适用于自动化编译、测试和部署Java应用程序。...
### ant使用教程 #### 一、Ant简介 1. **什么是Ant** - Ant是一款用于自动化构建过程的软件工具,最初由Apache Software Foundation开发。它主要用于编译、测试和部署Java应用程序,支持跨平台使用,因为它是用...
### ant使用手册ANT使用指南 #### 一、引言 Ant是一种流行的开源构建工具,用于自动化软件项目的构建过程。尤其适用于Java项目,但它也可以用于非Java项目。由于Ant的灵活性和易用性,它在Java开发者社区中迅速...
在“Ant使用指南”中,我们将深入探讨以下关键知识点: 1. **Ant的基本概念**:首先,你需要理解Ant的核心概念,包括构建文件、目标、任务和属性。构建文件是Ant工作的蓝图,定义了一系列的目标和任务,而任务是Ant...
### Ant使用指南-Ant入门手册 #### 一、Ant是什么? Apache Ant 是一款开源的 Java 构建工具,它的名字来源于“Another Neat Tool”的首字母缩写。Ant 能够帮助开发者自动化构建过程,包括编译源代码、运行测试、...
Ant是Apache软件基金会下的一个Java项目,它是一个强大的构建工具,...通过阅读《Ant使用指南》PDF文件,您将能深入理解并熟练运用Ant进行项目构建。无论您是新手还是经验丰富的开发者,都能从中受益,提升开发效率。
这个“ant使用手册(中文教程)”涵盖了Ant的基本概念、配置语法、任务使用以及在Java项目中的实际应用。 1. **Ant基本概念** - **构建文件**:Ant的构建过程通过一个名为`build.xml`的XML文件进行描述,该文件...
在"apache ant使用例子"中,我们可以通过一个名为"HelloAnt"的MyEclipse工程实例来学习如何使用Ant。MyEclipse是Eclipse IDE的一个扩展,特别适合于Java EE项目的开发,它内置了对Ant的支持,使得我们可以方便地在...
全面的ant使用手册~!内容如下: · Ant 生成文件是如何构造的 · 如何从命令行以及从Eclipse 内运行Ant · 如果通过编译源代码、创建 JAR 文件以及时间戳文件(以识别每次生成过程的输出)来生 成简单的 Java 项目 ...
### ant使用帮助文档 #### 知识点概览 1. **Ant的简介与功能** 2. **安装Ant的基本步骤** 3. **配置环境变量的方法** 4. **验证Ant是否安装成功** 5. **配置数据库链接信息** 6. **创建数据库表及与Ant项目的关联*...
### Ant使用指南:Java项目构建的利器 #### 引言 Apache Ant,作为一个基于Java的构建工具,由James Duncan Davidson创建,旨在简化Java项目的构建流程。Ant,全称Another Neat Tool,以其跨平台特性、易用性及...