`
hanwesley
  • 浏览: 59458 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ant的强大和用武之地

Ant 
阅读更多

ant(蚂蚁工具)可用于部署应用程序

ant的配置:ANT_HOME=ant安装目录

path=%path%;%ANT_HOME%/bin

build.xml分析(http://liangyuliang.bloghome.cn/posts/128436.html)

<!-- Ant(anotherneattool---另一个整洁的工具) -->

<? xmlversion="1.0" ?>
< project default ="dist" name ="ProjectA" >
< 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设置为当前日期,默认格式为yyyymmdd20031217
TSTAMP设置为当前时间,默认格式为hhmm1603
TODAY设置为当前日期,带完整的月份2003年12月17日
-->
< tstamp />
<!-- mkdir元素用来创建目录dir属性用来指定目录路径 -->
<!-- delete元素用来删除目录${buildDir}引用property元素指定的name为buildDir的属性变量 -->
< mkdir dir ="${buildDir}" />
< mkdir dir ="${distDir}" />
<!-- 文件操作:
<copyfile="src/Test.java"tofile="src/TestCopy.java"/>把文件Test.java拷贝一份TestCopy.java
<movefile="src/Test.java"tofile="src/TestCopy.java"/>把文件Test.java重新命名为TestCopy.java
<copyfile="src/Test.java"todir="archive"/>把文件Test.java从src目录复制一份到archive目录下
<movefile="src/Test.java"todir="archive"/>把文件Test.java从src目录下移动到archive目录下
<replacefile="input.txt"token="old"value="new"/>replace任务,它执行文件中的查找和替换操作。
token属性指定要查找的字符串,
value属性指定一个新的字符串,
查找到的标记字符串的所有实例都被替换为这个新的字符串.
替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把summary属性设置为
true。这将导致该任务输出找到和替换的标记字符串实例的数目。
<copytodir="archive">---使用模式匹配复制多个文件
<filesetdir="src">--fileset代替file属性
<includename="*.java"/>--包含src目录下所有的*.java文件
<excludename="*.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 >
分享到:
评论

相关推荐

    ant+ivy代码管理包

    Ant是一款强大的Java项目构建工具,而Ivy则是Ant的一个扩展,专门用于管理项目依赖。本篇文章将深入探讨这两者如何协同工作,为代码打包管理提供有力支持,特别是在WebLogic服务器环境下的应用。 Apache Ant,作为...

    ant

    在JavaScript开发中,尽管Node.js有Gulp、Grunt和Webpack等现代构建工具,Ant依然有其用武之地。例如,当处理一些跨平台的项目,或者需要与Java后端服务配合时,Ant的跨平台性和灵活性就显得尤为重要。JavaScript...

    xsltproc64.rar

    4. **Ant**:是另一种Java构建工具,尽管Maven现在更为流行,但在某些场景下,Ant仍然有用武之地,例如处理一些简单的构建任务或与现有的Ant脚本集成。 在描述中提到的`xsltproc`是XSLT处理器,它用于执行XSL样式表...

    apache lib (new)

    尽管现在Maven更常见,但Ant仍然有其用武之地,特别是对于不需要复杂依赖管理和已有构建脚本的项目。 5. **Apache Log4j**: 这是一个广泛使用的日志框架,它允许开发者灵活地控制日志记录的级别,从而实现调试、...

    【SVM分类】基于自适应蚁狮算法优化SVM分类器实现胃肠道病变附matlab代码.zip

    SVM是一种强大的监督学习模型,广泛应用于分类和回归问题,特别是在生物医学领域,如疾病诊断,其性能往往取决于参数的选择和优化。 首先,我们需要理解SVM的基本原理。SVM通过构建最大边距超平面将不同类别的数据...

    dom4j最新官网下载版

    而“ant.txt”可能是构建脚本的一部分,Ant是Java项目常用的构建工具,此文本文件可能包含了如何在Ant环境中使用DOM4J的配置信息,帮助开发者在构建过程中正确地引用和打包DOM4J库。 使用DOM4J,开发者可以方便地...

    matlab算法解析实现 - 蚁群算法的优化计算——TSP优化.rar

    MATLAB作为强大的数值计算和可视化工具,提供了丰富的函数库支持,使得ACO算法的实现变得直观且高效。同时,遗传算法、免疫算法、退火算法、粒子群算法、鱼群算法和神经网络算法也是解决TSP问题的常见策略,它们各有...

    深入理解Android之Gradle

    随着移动应用开发的兴起,Android项目往往具有多个版本、依赖多个库,且由多个开发者协作开发,这时候就需要一个更加强大和灵活的构建工具,这就是Gradle的用武之地。 Gradle之所以能够成为Android开发者的最爱,...

    三种蚁群优化算法MATLAB源代码

    MATLAB作为一种强大的数学计算软件,为算法的实现和调试提供了便利,同时,源代码的分享促进了知识的传播与交流,对于科研人员和工程实践者都有很高的参考价值。 总之,蚁群优化算法在MATLAB中的应用展示了其在解决...

    apache-ivy-2.5.0-bin.tar.gz

    总的来说,Apache Ivy是Java项目中一个强大的依赖管理工具,它与Apache Ant紧密集成,使得构建过程更加自动化和高效。通过正确配置和使用Ivy,开发者可以更专注于编写代码,而不必过多地关心库的版本管理和下载。在...

Global site tag (gtag.js) - Google Analytics