Ant学习(2)

阅读更多
Ant示例参考
六.部分实例参考(网上找的):
xml 代码
 
  1. 1. 例一:  
  2. <project default="usage" basedir=".">  
  3.     
  4.     
  5.     
  6.   <target name="init">  
  7.     <tstamp/>  
  8.     <property file="${basedir}/build.properties" />  
  9.     <property name="Name" value="ProjectFullName"/>  
  10.     <property name="name" value="project_name"/>  
  11.     <property name="version" value="0.2"/>  
  12.     <property name="year" value="2003"/>  
  13.   
  14.     <echo message="----------- ${Name} ${version} [${year}] ------------"/>  
  15.     <property name="debug" value="off"/>  
  16.     <property name="optimize" value="on"/>  
  17.     <property name="deprecation" value="on"/>  
  18.   
  19.     <property name="src.dir" value="./src/WEB-INF/src"/>  
  20.     <property name="lib.dir" value="./src/WEB-INF/lib"/>  
  21.     <property name="packages" value="com.chedong.*,org.apache.lucene.*"/>  
  22.   
  23.     <property name="build.src" value="./src/WEB-INF/build"/>  
  24.     <property name="build.dest" value="./src/WEB-INF/classes"/>  
  25.     <property name="build.javadocs" value="./src/doc"/>  
  26.     
  27.     <path id="classpath">  
  28.         <pathelement path="${jsdk_jar}"/>  
  29.         <fileset dir="${lib.dir}">  
  30.            <include name="**/*.jar"/>  
  31.         fileset>  
  32.     path>  
  33.     
  34.     <filter token="year" value="${year}"/>  
  35.     <filter token="version" value="${version}"/>  
  36.     <filter token="date" value="${TODAY}"/>  
  37.     <filter token="log" value="true"/>  
  38.     <filter token="verbose" value="true"/>  
  39.   target>  
  40.   
  41.     
  42.     
  43.     
  44.   <target name="usage" depends="init">  
  45.     <echo message="${Name} Build file"/>  
  46.     <echo message="-------------------------------------------------------------"/>  
  47.     <echo message=""/>  
  48.     <echo message=" available targets are:"/>  
  49.     <echo message=""/>  
  50.     <echo message="   jar      --> generates the ${name}.jar file"/>  
  51.     <echo message="   build    --> compiles the source code"/>  
  52.     <echo message="   javadoc  --> generates the API documentation"/>  
  53.     <echo message="   clean    --> cleans up the directory"/>  
  54.     <echo message=""/>  
  55.     <echo message=" Please rename build.properties.default to build.properties"/>  
  56.     <echo message=" and edit build.properties to specify JSDK 2.3 classpath."/>  
  57.     <echo message=""/>  
  58.     <echo message=" See the comments inside the build.xml file for more details."/>  
  59.     <echo message="-------------------------------------------------------------"/>  
  60.     <echo message=""/>  
  61.     <echo message=""/>  
  62.   target>  
  63.   
  64.     
  65.     
  66.     
  67.   <target name="prepare-src" depends="init">  
  68.       
  69.     <mkdir dir="${build.src}"/>  
  70.     <mkdir dir="${build.dest}"/>  
  71.     
  72.       
  73.     <copy todir="${build.src}">  
  74.       <fileset dir="${src.dir}"/>  
  75.     copy>  
  76.   target>  
  77.   
  78.     
  79.     
  80.     
  81.   <target name="build" depends="prepare-src">  
  82.     <javac srcdir="${build.src}"  
  83.            destdir="${build.dest}"  
  84.            debug="${debug}"  
  85.            optimize="${optimize}">  
  86.       <classpath refid="classpath"/>  
  87.     javac>  
  88.   target>  
  89.   
  90.     
  91.     
  92.     
  93.   <target name="jar" depends="build">  
  94.     <jar jarfile="${lib.dir}/${name}.jar"  
  95.          basedir="${build.dest}"  
  96.          includes="**"/>  
  97.   target>  
  98.   
  99.     
  100.     
  101.     
  102.   <target name="javadoc" depends="build">  
  103.     <mkdir dir="${build.javadocs}"/>  
  104.     <javadoc packagenames="${packages}"  
  105.              sourcepath="${build.src}"  
  106.              destdir="${build.javadocs}"  
  107.              author="true"  
  108.              version="true"  
  109.              use="true"  
  110.              splitindex="true"  
  111.              windowtitle="${Name} API"  
  112.              doctitle="${Name}">  
  113.       <classpath refid="classpath"/>  
  114.     javadoc>  
  115.   target>  
  116.   
  117.     
  118.     
  119.     
  120.   <target name="clean" depends="init">  
  121.     <delete dir="${build.src}"/>  
  122.     <delete dir="${build.dest}/org"/>  
  123.     <delete dir="${build.dest}/com"/>  
  124.     <delete>  
  125.       <fileset dir="${build.dest}" includes="**/*.class"/>  
  126.     delete>  
  127.   target>  
  128. project>  
  129.   
  130. 2. 例二(打包一个可执行Jar包):  
  131.   
  132. 1> 下载二进制包,如:apache-ant-1.6.3-bin.zip , 解压到一个目录  
  133. 2> 把可执行文件的路径 (即 bin 目录的路径)加到环境变量的PATH里面  
  134. 3> 设环境变量ANT_HOME 如我的E:\software\apache-ant-1.6.3-bin\apache-ant-1.6.3  
  135.    设环境变量JAVA_HOME 如我的D:\Program Files\Java\jdk1.5.0_04;  
  136. 4> 写一个build.xml文件,拷贝一个过来:  
  137. <project name="MyProject" default="dist" basedir=".">  
  138.     <description>  
  139.         simple example build file  
  140.     description>  
  141.     
  142.   <property name="src" location="src"/>  
  143.   <property name="build" location="build"/>  
  144.   <property name="dist"  location="dist"/>  
  145.   
  146.   <target name="init">  
  147.       
  148.     <tstamp/>  
  149.       
  150.     <mkdir dir="${build}"/>  
  151.   target>  
  152.   
  153.   <target name="compile" depends="init"  
  154.         description="compile the source " >  
  155.       
  156.     <javac srcdir="${src}" destdir="${build}"/>  
  157.   target>  
  158.   
  159.   <target name="dist" depends="compile"  
  160.         description="generate the distribution" >  
  161.       
  162.     <mkdir dir="${dist}/lib"/>  
  163.   
  164.       
  165.     <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>  
  166.   target>  
  167.   
  168.   <target name="clean"  
  169.         description="clean up" >  
  170.       
  171.     <delete dir="${build}"/>  
  172.     <delete dir="${dist}"/>  
  173.   target>  
  174. project>  
  175.   
  176. 5> 建一个src目录,把源文件放里面;  
  177.   
  178. 6> 因为我用的编码是utf8,  
  179. <javac srcdir="${src}" destdir="${build}"/>  
  180. 这一行改为  
  181. <javac srcdir="${src}" destdir="${build}" encoding="utf-8"/>  
  182.   
  183. 7> 这样,生成的jar文件还是不能正常运行的。  
  184. 在build.xml所在的目录放一个MANIFEST.MF文件  
  185. 内容如下:  
  186. Manifest-Version: 1.0  
  187. Main-Class: book.SwingApplication  
  188.   
  189. 注意把第二行的类名换成自己的类名。  
  190. 8> 修改build.xml这一行  
  191. <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>  
  192. 改成:  
  193. <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}" manifest="MANIFEST.MF"/>  
  194. 这样,在build.xml目录运行ant(dos窗口下)后,在lib目录生成的jar文件,就能双击运行了。  

你可能感兴趣的:(Ant,Apache,lucene,XML,Web)