ANT帮组文档

  1. ant使用简介
  2. ant 是apache 工程的一个子工程,是一个基于java的build工具。ant类似于make工具,但没有传统的make工具的缺点。传统的make往往只能限制在某一平台上使用,ant本身用java类实现,要构建的工程的配置文件用xml格式描述,可以很方便实现多平台编译,非常适合build大型工程。
  3. 1.安装配置ant:
  4. ant 可以从http://ant.apache.org下载,目前最新版本为1.5.2。下载完毕后直接解压缩,目录如下:
  5. ant 
  6. +-- bin // contains launcher scripts
  7. |
  8. +-- lib // contains Ant jars plus necessary dependencies
  9. |
  10. +-- docs // contains documentation
  11. |    +-- ant2 // a brief description of ant2 requirements
  12. |    |
  13. |    +-- images // various logos for html documentation
  14. |    |
  15. |    +-- manual // Ant documentation (a must read )
  16. |
  17. +-- etc 
  18. 需要设置的环境变量:
  19. ANT_HOME:ant的安装目录
  20. JAVA_HOME:jdk的安装目录
  21. PATH:把%ANT_HOME%/bin目录加到path变量,以便于从命令行下直接运行ant
  22. 假定ant装在c:/ant   jdk装d:/j2sdk1.4.0
  23. 则在命令行下执行以下命令:
  24. set ANT_HOME=c:/ant
  25. set JAVA_HOME=D:/j2sdk1.4.0
  26. set PATH=%PATH%;c:/ant/bin
  27. 在win2000命令提示符下工作时,每次都必须进行上面的设置,退出命令提示符后,这些变量的值又会恢复成原来的样子。为了避免这些麻烦,可以在 控制面板/系统/高级/环境变量 中设置。
  28. 上述设置完成后,就可以使用ant了。
  29. 2.建立工程描述文件build.xml
  30. 用ant编译规模较大的工程非常方便,每个工程都对应一个build.xml文件,这个文件包含与这个工程有关的路径信息和任务。下面是一个build.xml的例子:
  31. <project name="logon" basedir="." default="dist">
  32. <property name="dist.name" value="struts_demo"/>
  33. <property name="src" location="src"/>
  34. <property name="build" location="WEB-INF/classes"/>
  35. <property name="dist" location="D:/tomcat/webapps/dist"/>
  36. <!-- Build working classpath -->
  37. <path id="project.class.path">
  38. <pathelement path ="WEB-INF/lib/struts.jar"/>
  39. <pathelement path ="WEB-INF/classes"/>
  40. <pathelement path ="${classpath}"/>
  41. </path>
  42. <target name="init">
  43. <tstamp/>
  44. <!-- Create the build directory structure used by compile -->
  45. <delete dir="${dist}"/>
  46. </target>
  47. <target name="compile" depends="init">
  48. <javac srcdir="${src}" destdir="${build}">
  49. <classpath refid="project.class.path"/>
  50. </javac> 
  51. </target>
  52. <!-- Build binary distribution -->
  53. <target name="dist" depends="compile"
  54. description="Create binary distribution">
  55. <mkdir dir="${dist}"/>
  56. <war destfile="${dist}/${dist.name}.war"
  57. webxml="WEB-INF/web.xml">
  58. <lib dir="WEB-INF/lib"/>
  59. <classes dir="WEB-INF/classes"/>
  60. <fileset dir="${basedir}"/>
  61. </war>
  62. </target>
  63. </project>
  64. 要构建的工程目录如下:
  65. struts_demo
  66. +--jsp
  67. |
  68. +--src
  69. |
  70. +--WEB-INF
  71. |  +--classes
  72. |  |
  73. |  +--lib
  74. |  |
  75. |  +--web.xml
  76. |
  77. +--build.xml
  78. 每个build.xml文件都包含一个project和至少一个target。target包含任务元素,任务是一段可执行代码,每个任务元素都有一个id属性,以便于在文件中引用。ant有内置任务集可供使用,如上面文件中用到的property、javac和war,分别完成设置属性、编译和打包任务。当然如果需要的话也可以写自己的任务。
  79. build.xml 的根元素是progject,它有三个属性name default basedir,其中default是必需的。name指定工程的名字, basedir表示工程的基路径,设置为"."表示build.xml所在的路径。default表示默认的target,运行ant时如果不指定 target,则用default指定的target.
  80. property任务用来设置属性,一个工程可以设置很多属性,属性有名字和值,属性设置后可以在后面引用。
  81. <property name="dist.name" value="struts_demo"/>设置一个名字为dist.name的属性,其值为struts_demo,后面使用时用${dist.name}引用,表示字符串struts_demo.
  82. < property name="src" location="src"/>设置一个名字为src的属性,它的值是一个路径,用location设置。如果location内容以/或/或D:/ C:/之类开始,表示绝对路径,否则表示相对路径,相对于project中设置的basedir.
  83. 使用path或classpath可以设置类的路径,后面引用时用id设置的值
  84. 构建工程最常用的ant内置任务:
  85. mkdir:    创建目录,dir=要创建的目录
  86. delete:    删除文件或文件夹 dir=要删除的文件或文件夹
  87. javac:     编译java源文件,java源文件放在srcdir指定的文件夹中,生成的.class文件按照 package语句组织目录,存放在destdir指定的文件夹中。要注意源文件的目录组织要与package语句相一致(<javac srcdir="${src}" destdir="${build}">)
  88. war:        为web应用程序打包,destfile指定打包后生成的文件名,webxml指定所用的web.xml文件。<fileset dir="${basedir}"/>将basedir目录下所有的文件也放在包中
  89. 上面的build.xml例子中,target中的属性depends表示在执行本target之前必须要做的target,
  90. 例如dist 的depends=compile,意思是在用dist打包之前必须先用compile编译。这样当执行dist时首先执行compile
  91. 3.运行ant:
  92. 使用ant.bat可以直接运行ant,如果不带任何参数,ant会在当前路径下搜索build.xml文件,如果找到,就运行project的default指定的target.也可以带参数来选择build.xml文件和要运行的target
  93. 对于上面的例子,假定build.xml所在的目录为D:/struts_demo/ ,则下面三种执行方式效果是一样的:
  94.     1.   cd d:/struts_demo
  95.          ant
  96.     2.   ant -buildfile d:/struts_demo/build.xml
  97.     3.   ant -buildfile d:/struts_demo/build.xml    dist
  98. 如果执行ant -buildfile d:/struts_demo/build.xml  compile,则执行compile target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值