zoukankan      html  css  js  c++  java
  • ant实践总结

    ant脚本结构

    ant使用XML格式的配置文件,默认的名称是build.xml。配置文件的根节点是project,且project节点至少含有一个target子节点,先上代码:

    1: <project name="MyProject" default="dist" basedir=".">
    2: </project>
    

    属性name表示项目的名称,default是在不指定任务时默认执行的任务,basedir用于从相对路径计算出绝对路径,如果没有设置,默认是配置文件(XML)所在的目录。

    定义变量使用的是property,格式如下:

    1: <property name="src" location="src"/>
    2: <property name="src" value="value"/>
    

    其中name是变量的名字,如果是location,该变量的值是location对应值的文件的路径;如果location已经是绝对路径则直接赋值给name对应的变量,如果location是相对目录,则将项目中basedir与该路径连接并赋值给name对应的变量。

    完整的buildfile示例

     1: <project name="MyProject" default="dist" basedir=".">
     2:     <description>
     3:         simple example build file
     4:     </description>
     5:     <!-- set global properties for this build -->
     6:     <property name="src" location="src"/>
     7:     <property name="build" location="build"/>
     8:     <property name="dist"  location="dist"/>
     9: 
    10:     <target name="init">
    11:         <!-- Create the time stamp -->
    12:         <tstamp/>
    13:         <!-- Create the build directory structure used by compile -->
    14:         <mkdir dir="${build}"/>
    15:     </target>
    16: 
    17:     <target name="compile" depends="init"
    18:             description="compile the source " >
    19:         <!-- Compile the java code from ${src} into ${build} -->
    20:         <javac srcdir="${src}" destdir="${build}"/>
    21:     </target>
    22: 
    23:     <target name="dist" depends="compile"
    24:             description="generate the distribution" >
    25:         <!-- Create the distribution directory -->
    26:         <mkdir dir="${dist}/lib"/>
    27: 
    28:         <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
    29:         <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
    30:     </target>
    31: 
    32:     <target name="clean"
    33:             description="clean up" >
    34:         <!-- Delete the ${build} and ${dist} directory trees -->
    35:         <delete dir="${build}"/>
    36:         <delete dir="${dist}"/>
    37:     </target>
    38: </project>
    

    如何打jar包,如何把外部的jar包一起打包到目标jar中?

     1: <path id="build.classpath">
     2:     <fileset dir="lib">
     3:         <include name="*.jar"/>
     4:     </fileset>
     5: </path>
     6: <manifestclasspath property="manifest.classpath" jarfile="ExceltoXML.jar">
     7:     <classpath refid="build.classpath" />
     8: </manifestclasspath>
     9: <target name="jar" depends="compile">
    10:     <jar destfile="ExceltoXML.jar">
    11:         <fileset dir="build/classes"/>
    12:         <fileset dir="lib" />
    13:         <manifest>
    14:             <attribute name="Main-Class" value="xgh.ExceltoXML" />
    15:             <attribute name="Class-Path" value="${manifest.classpath}" />
    16:         </manifest>
    17:     </jar>
    18: </target>
    

    说明:manifestclasspath用来设置目标jar运行时候的环境变量,否则将会出现class not found的错误。

    世界在开始的瞬间就已经决定了结局,但人类永远别想知道......
  • 相关阅读:
    ibatis的log4配置
    ie6中DIV最小高度
    Redhat GRUB配置错误修复
    MySQL性能优化的21条经验
    Top 200的全球开发者BLOG
    IBM服务器配置内外网络配置
    php ftp_rawlist不显示目录问题
    PHP实现异步调用方法研究[转]
    20100823工作记录
    Web 2.0应用客户端性能问题十大根源
  • 原文地址:https://www.cnblogs.com/jerryxgh/p/3500964.html
Copyright © 2011-2022 走看看