ant例子xml

下面是我收集的参考资料,希望对大家有点帮助。

xml 代码
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!-- =============================================================== -->  
  3. <!-- ANT buildfile快速参考 -->  
  4. <!-- ALin 2006-12-30 14:20 -->  
  5. <!-- =============================================================== -->  
  6. <project default="help" basedir="." name="Cabin">  
  7.         <!-- project的描述,可以省略                                     -->  
  8.         <description>Ant Buildfile参考</description>  
  9.   
  10.         <!-- =========================================================== -->  
  11.         <!-- 项目相关的属性设置                                          -->  
  12.         <!-- =========================================================== -->  
  13.         <property environment="env"></property><!-- 引用系统环境变量     -->  
  14.         <property name="app.nane" value="Cabin"></property>  
  15.         <property name="app.home" value="."></property>  
  16.         <property name="src.dir" value="${app.home}/src"></property>  
  17.         <property name="bin.dir" value="${app.home}/bin"></property>  
  18.         <property name="lib.dir" value="${app.home}/lib"></property>  
  19.         <property name="build.dir" value="${app.home}/build"></property>  
  20.         <property name="build.classes" value="${build.dir}/classes"/>  
  21.         <property name="deploy.dir" value="${app.home}/hello"/>  
  22.         <property name="deploy.classes" value="${deploy.dir}/WEB-INF/classes"/>  
  23.         <property name="TOMCAT_HOME" value="C:/Tomcat 5.5"/>  
  24.         <property name="Log4j.conf" value="log4j.configuration"></property>  
  25.         <property name="Log4j.file" value="log4j.properties"></property>  
  26.         <property name="JWSDP.HOME" value="C:/Sun/jwsdp-2.0"></property>  
  27.         <property name="JAXB.HOME" value="${JWSDP.HOME}/jaxb"></property>  
  28.          
  29.         <property name="dtd.file1" value="datasource.dtd"></property>  
  30.         <property name="dtd.file2" value="bookList.dtd"></property>  
  31.   
  32.         <property name="jboss.jar.dir"  
  33.                 value="D:/Program Files/jboss-4.0.2/client"></property>  
  34.          
  35.         <!-- 定义XDoclet目录,后面用到其中的Task                        -->  
  36.         <property name="xdoclet.home" value="D:/Program Files/xdoclet-1.2.3"></property>  
  37.          
  38.         <!-- 引用外部属性文件 -->  
  39.         <property file="db.properties"></property>  
  40.   
  41.         <!-- =========================================================== -->  
  42.         <!-- 编译和运行的classpath                                       -->  
  43.         <!-- =========================================================== -->  
  44.         <path id="compile.classpath">  
  45.                 <!-- The object files for this application -->  
  46.                 <pathelement path="${build.classes}"/>  
  47.                  
  48.                 <!-- 包括目录下的所有.jar和.zip文件                          -->  
  49.                 <fileset dir="${TOMCAT_HOME}/common/lib">   <!-- lib的目录   -->  
  50.                         <include name="*.jar"/>                 <!-- 包括jar文件 -->  
  51.                         <include name="*.zip"/>  
  52.                         <exclude name="*.properties"/> <!-- 不包括properties文件 -->  
  53.                 </fileset>  
  54.   
  55.                 <!-- 可以指定具体的某个.jar文件                              -->  
  56.                 <fileset dir="${jboss.jar.dir}">  
  57.                         <include name="jbossall-client.jar"/>  
  58.                         <include name="jnp-client.jar"/>  
  59.                 </fileset>  
  60.                 <!-- 可以使用location代替path                                -->  
  61.                 <pathelement path="${TOMCAT_HOME}/common/classes"/>  
  62.         </path>  
  63.          
  64.         <!-- XDoelet的lib目录 -->  
  65.         <path id="xdoclet.lib.path">  
  66.                 <fileset dir="${xdoclet.home}/lib">  
  67.                         <include name="*.jar"/>  
  68.                 </fileset>  
  69.         </path>  
  70.          
  71.         <!-- 定义Task,自己扩展的Ant Task也使用类似的语法进行定义       -->  
  72.         <target name="define-task">  
  73.                 <taskdef name="documentdoclet"  
  74.                         classname="xdoclet.modules.doc.DocumentDocletTask"  
  75.                         classpathref="xdoclet.lib.path">  
  76.                 </taskdef>  
  77.                 <taskdef name="ejbdoclet"  
  78.                         classname="xdoclet.modules.ejb.EjbDocletTask"  
  79.                         classpathref="xdoclet.lib.path">  
  80.                 </taskdef>  
  81.                 <taskdef name="webdoclet"  
  82.                         classname="xdoclet.modules.web.WebDocletTask"  
  83.                         classpathref="xdoclet.lib.path" />  
  84.         </target>  
  85.   
  86.         <!-- 创建目录,如果已经存在,则跳过                              -->  
  87.         <target name="prepare">  
  88.                 <mkdir dir="${src.dir}/META-INF"/>  
  89.                 <mkdir dir="${bin.dir}/META-INF"/>  
  90.                 <mkdir dir="${lib.dir}"/>  
  91.         </target>  
  92.   
  93.         <!-- =========================================================== -->  
  94.         <!-- target设置                                                  -->  
  95.         <!-- =========================================================== -->  
  96.         <target name="compile" depends="prepare">  
  97.                 <javac srcdir="${src.dir}" destdir="${build.classes}" debug="no">  
  98.                         <!-- 引用上面的compile.classpath-->  
  99.                         <classpath refid="compile.classpath"/>  
  100.                 </javac>  
  101.         </target>  
  102.          
  103.         <target name="copy" depends="compile">  
  104.                 <!-- 把${src.dir}下面的properties文件复制到${deploy.classes} -->  
  105.                 <copy todir="${deploy.classes}">  
  106.                         <fileset file="${src.dir}/*.properties"/>  
  107.                 </copy>  
  108.                  
  109.                 <!-- 复制指定文件 -->  
  110.                 <copy todir="${deploy.home}">  
  111.                         <fileset file="${build.classes}/${app.name}.jar"/>  
  112.                 </copy>  
  113.   
  114.                 <!-- 把${build.classes}下面的文件复制到${deploy.classes},包 -->  
  115.                 <!-- 括.class文件,不包括.log文件,子目录中的文件也会复制。  -->  
  116.                 <copy todir="${deploy.classes}">  
  117.                         <fileset dir="${build.classes}">  
  118.                                 <include name="**/*.class"/>  
  119.                                 <exclude name="**/*.log"/>  
  120.                         </fileset>  
  121.                 </copy>  
  122.                  
  123.                 <!-- 复制具体文件,覆盖已有的文件                            -->  
  124.                 <copy file="src/META-INF/services.xml"  
  125.                         tofile="${dest.dir.classes}/META-INF/services.xml"  
  126.                         overwrite="true"/>  
  127.         </target>  
  128.          
  129.         <!-- 使用JDK的native2ascii工具执行本地化操作,转换编码。         -->  
  130.         <target name="locale">  
  131.                 <echo>Target ----- [locale]</echo>  
  132.                 <exec dir="${src.dir}" executable="native2ascii" os="Windows XP">  
  133.                   <arg  
  134.                           line="-encoding GBK MessageResources_temp.properties  
  135.                                   MessageResources_zh_CN.properties"/>  
  136.                 </exec>  
  137.         </target>  
  138.   
  139.         <target name="clean">  
  140.                 <!-- 删除${deploy.classes}下面的所有(.class)文件-->  
  141.                 <delete>  
  142.                         <fileset dir="${deploy.classes}">  
  143.                                 <include name="*"/> <!-- 包括所有文件 -->  
  144.                                 <include name="*/**.class"/>  
  145.                                 <exclude name=""/>  <!-- ""表示不含任何文件 -->  
  146.                         </fileset>  
  147.                 </delete>  
  148.   
  149.                 <!-- 删除${bin.dir}下面的.class、.xml、.properties、.log文件 -->  
  150.                 <delete>  
  151.                         <fileset dir="${bin.dir}">  
  152.                                 <include name="**/*.class"/>  
  153.                                 <include name="**/*.xml"/>  
  154.                                 <include name="**/*.properties"/>  
  155.                                 <include name="**/*.log"/>  
  156.                         </fileset>  
  157.                 </delete>  
  158.   
  159.                 <!-- 删除指定路径的文件 -->  
  160.                 <delete file="${deploy.home}/${app.name}.jar"></delete>  
  161.         </target>  
  162.          
  163.         <!-- run依赖于compile和delete                                    -->  
  164.         <!-- 类似于在${bin.dir}下面执行java events.EventManager,只有    -->  
  165.         <!-- fork="YES"的情况下,dir属性才有效,使用classpathref引用前面 -->  
  166.         <!-- 的compile.classpath。                                       -->  
  167.         <!-- arg表示提供参数。运行方式:ant run -Daction=value           -->  
  168.         <!-- 其效果等同于:java events.EventManager value                -->  
  169.         <!-- 只不过不再需要用-cp指定classpath,非常方便。                -->  
  170.         <target name="run" depends="compile, clean">  
  171.                 <java classname="events.EventManager" fork="YES" dir="${bin.dir}"  
  172.                         classpathref="compile.classpath">  
  173.                         <classpath path="${bin.dir}"/><!-- classpath是必须的,否则会出现NoClassDefFoundError   -->  
  174.                         <arg value="${action}"/>   <!-- arg也不是必须的,1或多个 -->  
  175.                 </java>  
  176.         </target>  
  177.          
  178.         <!-- 使用exec可以运行可执行文件。dir表示在某个目录下执行;       -->  
  179.         <!-- executable表示可执行文件的路径,如果在path变量中,则只要    -->  
  180.         <!-- 可执行文件名即可,否则应该给出完整路径;os表示是什么系统;  -->  
  181.         <!-- 也可以通过arg提供参数。                                     -->  
  182.         <target name="xjc">  
  183.                 <echo>Run xjc.bat and generate sources.</echo>  
  184.                 <exec dir="${src.dir}" executable="${JAXB.HOME}/bin/xjc.bat" os="Windows XP">  
  185.                   <arg line="-dtd ${dtd.file2}"></arg>  
  186.                   <!--arg value="${dtd}"></arg--><!-- DTD file as run-time argument-->  
  187.                 </exec>  
  188.         </target>  
  189.   
  190.         <!-- 把${bin.dir}下面的所有文件打包成:${app.name}.aar文件,并放 -->  
  191.         <!-- 置在${bin.dir}目录下。类似于在${bin.dir}目录下执行:        -->  
  192.         <!-- jar cvf Cabin.aar .                                         -->  
  193.         <target name="jar">  
  194.                 <jar basedir="${bin.dir}" destfile="${bin.dir}/${app.name}.aar">  
  195.           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值