当前位置: 代码迷 >> Web前端 >> ant封装
  详细解决方案

ant封装

热度:278   发布时间:2012-10-30 16:13:36.0
ant打包

1.安装apache-ant-1.5.4或其他版本

2.配置环境变量:

??? ANT_HOME=ant安装目录???

????PATH=%PATH%;%ANT_HOME%\bin?????????????????????????????????????????????????????????????????????????????????????????????

3.build.xml

<!--Ant(another?neat?tool---另一个整洁的工具)-->

<?xml?version="1.0"?>
<project?default="dist"?name="Project?A">
????<description>
????????一段描述信息,没有实际作用。
????</description>
????<!--property?元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。
????????????????一般用?value?给其赋值,这里用?location?代替?value?是因为?location?属性专门设
????????????????计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->
????<property?name="srcDir"?location="."/>
????<property?name="buildDir"?location="classes"/>
????<property?name="distDir"?location="dist"/>
????
????<!--一个target?元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由?project?元素的?default?属性决定要执行的任务-->
????<target?name="init"?description="在元素中指定描述信息!">
????????<echo?message="这里的信息将被输出到控制台!">
????????<!--tstamp?元素一般不定义属性和内容,不产生任何输出;相反,它根据当前系统时间和日期设置?Ant?以下属性:
????????属性????????????????说明????????????????????????????????????例子
????????DSTAMP????????????设置为当前日期,默认格式为yyyymmdd????????20031217
????????TSTAMP????????????设置为当前时间,默认格式为hhmm????????????1603
????????TODAY????????????设置为当前日期,带完整的月份????????????2003?年12?月17?日-->
????????<tstamp/>
????????<!--mkdir?元素用来创建目录?dir?属性用来指定目录路径-->
????????<!--delete?元素用来删除目录?${buildDir}?引用?property?元素指定的?name?为?buildDir?的属性变量-->
????????<mkdir?dir="${buildDir}"/>
????????<mkdir?dir="${distDir}"/>
????????<!--文件操作:
????????????<copy?file="src/Test.java"?tofile="src/TestCopy.java"/>?把文件?Test.java?拷贝一份?TestCopy.java?
????????????<move?file="src/Test.java"?tofile="src/TestCopy.java"/>?把文件?Test.java?重新命名为?TestCopy.java
????????????<copy?file="src/Test.java"?todir="archive"/>?把文件?Test.java?从?src?目录复制一份到?archive?目录下
????????????<move?file="src/Test.java"?todir="archive"/>?把文件?Test.java?从?src?目录下移动到?archive?目录下
????????????<replace?file="input.txt"?token="old"?value="new"/>replace?任务,它执行文件中的查找和替换操作。
????????????token?属性指定要查找的字符串,
????????????value?属性指定一个新的字符串,
????????????查找到的标记字符串的所有实例都被替换为这个新的字符串.
????????????替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把?summary?属性设置为
????????????true。这将导致该任务输出找到和替换的标记字符串实例的数目。
????????????<copy?todir="archive">---使用模式匹配复制多个文件
????????????????<fileset?dir="src">--fileset?代替?file?属性
????????????????????<include?name="*.java"/>--包含?src?目录下所有的?*.java?文件
????????????????????<exclude?name="*.class"/>--不包含?src?目录下所有的?*.class?文件
????????????????</fileset>
????????????</copy>-->
????</target>

????<!--target?元素的?depends?属性用来设置多个?target?元素之间的依赖关系,如果要执行某个任务,必须先执行?depends?属性指定的所有
????????它所依赖的?target?元素,只有它所依赖的所有?target?元素都执行完了才能执行它自己-->
????<target?name="com"?depends="init">
????????<!--javac?元素把?srcdir?指定目录下所有?*.java?文件编译成?*.class?文件到?destdir?指定的目录下!
????????????如果不指定?destdir?属性,那么默认编译到同一目录下。其他属性:
?????????????classpath:等价于javac?的-classpath?选项。
?????????????debug="true":指示编译器应该带调试信息编译源文件。
?????????????fork="true":当你希望指定编译器的某些内存选项,或者需要使用一种不同级别的编译器的时候。该属性设置为“true”
?????????????executable="d:sdk141injavac":指定一个不同的?javac?可执行文件。
?????????????memoryMaximumSize="128m":向上边指定的?javac?传递一个最大内存设置-->
????????<javac?srcdir="${srcDir}"?destdir="${buildDir}"/>
????</target>

????<target?name="dist"?depends="com">
????????<!--jar?元素:在编译?Java?源文件之后,结果类文件通常被打包到一个?JAR?文件中,这个文件类似?zip?归档文
????????????件。每个?JAR?文件都包含一个清单文件,它可以指定该?JAR?文件的属性。
????????????还可以把目录下的所有内容打包为?WAR?文件
????????????destfile:打包后的文件全名
????????????basedir:要打包的文件路径-->
????????<jar?destfile="${distDir}/package-${DSTAMP}.jar"?basedir="${buildDir}">
????????????<!--manifest?属性允许指定一个用作该?JAR?文件的清单的文件。清单文件的内容还可以使用?manifest
????????????????任务在生成文件中指定。这个任务能够像文件系统写入一个清单文件,或者能够实际嵌套在?jar?之
????????????????内,以便一次性地创建清单文件和?JAR?文件。-->
????????????<manifest>
????????????????<attribute?name="Built-By"?value="${user.name}"/>
????????????????<attribute?name="Main-Class"?value="package.Main"/>
????????????</manifest>
????????</jar>
????????<jar?destfile="${distDir}/package-src-${DSTAMP}.jar"?basedir="${srcDir}"/>
????</target>

????<target?name="zip"?depends="dist">
????????<!--zip?元素用来创建?zip?包,和?jar?元素相似-->
????????<zip?destfile="output.zip"?basedir="output"/>
????????<!--相同的语法也可用于创建?tar?文件。?还可以使用?GZip?和?BZip?任务来压缩文件。-->
????????<tar?destfile="output.tar"?basedir="output"/>
????????<gzip?src="output.tar"?zipfile="output.tar.gz"/>
????????<!--解压缩和提取文件同样也很简单.-->
????????<unzip?src="output.tar.gz"?dest="extractDir"/>
????????<!--还可以包括?overwrite?属性来控制覆盖行为。默认设置是覆盖与正在被提取的归档文件中的条目相
????????????匹配的所有现有文件。相关的任务名称是?untar、unjar、gunzip?和?bunzip2。-->
????</target>

????<!--编写一个?clean目标来从目标目录移除生成的任何类文件是个很好的习惯。如果想要确
????????保所有源文件都已编译,就可以使用这个任务。这种行为刻画了?Ant?的许多任务的特点:
????????如果某个任务能够确定所请求的操作不需要执行,那么该操作就会被跳过。-->
????<target?name="clean">
????????<delete?dir="${buildDir}"/>
????????<delete?dir="${distDir}"/>
????</target>
</project>

?

  相关解决方案