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

ant使用小结

 
阅读更多
Java代码  收藏代码
  1. 1. <property file="build.properties"/>  

 

把build.properties文件里的键值对导入到build.xml ,以后就可以在build.xml 里使用${db.driver}来读到build.properties里配置的值org.hsqldb.jdbcDriver
这个很有用,需要改变值的时候,只需改变build.properties的值,但build.xml文件不用修改

Java代码  收藏代码
  1. db.url=jdbc:hsqldb:hsql://localhost/training  
  2. db.driver=org.hsqldb.jdbcDriver  
  3. db.username=sa  
  4. db.password=  
  5. hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect  

 2.<path id="ant.lib.path"></path>

指定了一个路径,路径下放着指定的jar文件

3. <path location="${classes.dir}"/>

指定了一个路径里的所有文件

4. <fileset dir="${xdoclet.lib.dir}">
      <include name="*.jar"/>
    </fileset>

这个表示把路径${xdoclet.lib.dir}里的所有的.jar文件包括进来,不包括子文件夹里的.jar文件

如果用这个 <include name="**/*.jar"/>,表示包括这个文件夹里所有的 .jar文件,包括所有子文件夹里的.jar文件

5.<copy toDir="${depends.dir}">
      <mapper type="flatten"/>
      <fileset refid="runtime.fileset"/>
    </copy>

表示将id名为runtime.fileset的<fileset >里包括的文件去掉文件夹copy到${depends.dir}

6. 打包工程

 <war destfile="${war.file}" webxml="${webxml.file}">
      <lib dir="${lib.dir}" includes="*.jar"/>
      <lib dir="${depends.dir}" includes="*.jar"/>
      
      <classes dir="${classes.dir}"/>
      <classes dir="${hbm.dir}"/>
      <webinf dir="${webinf.dir}" excludes="web.xml"/>
      <webinf dir="${target.dir}/webapp/WEB-INF"/>
      <fileset dir="${web.src.dir}" includes="index.html,jsp/**"/>
    </war>

destfile 在指定位置创造了一个.war文件

webxml 将指定位置的web.xml 放在webapp/WEB-INF里

<lib  将所包含的jar文件放在WEB-INF/lib 里

<classes 将所包含的文件放在WEB-INF/classes 里

<webinf   将指定路径的所有文件,除了web.xml,全部都copy到WEB-INF/里

<fileset  将指定路径的所有文件全部都copy到WEB-INF/的父目录,则和WEB-INF在同一个目录

7.用于将build.properties文件里的值来修改hibernate.properties里的属性值,动态生成一个hibernate.properties文件

<filter token="db.url" value="${db.url}"/>

<copy todir="${target.dir}/webapp/WEB-INF" 
        file="${config.dir}/hibernate.properties"
        filtering="true"
        overwrite="true"/>

 

表示但把  file指定路径下的hibernate.properties文件copy到指定路径时,将会执行一个动作,在hibernate.properties文件里所有出现的这个字符串(token指定的字符串)将被value指定的值所替换

 

 

Java代码  收藏代码
  1. <?xml version="1.0"?>  
  2. <!-- ======================================================================   
  3.      Aug 192004 7:18:13 PM                                                          
  4.   
  5.      Spring Training      
  6.      The Spring Training application from Spring in Action  
  7.                      
  8.      Craig Walls                                               
  9.      Ryan Breidenbach                
  10.      ====================================================================== -->  
  11. <project name="SpringTraining" default="war">  
  12.     
  13.   <description>  
  14.     The Spring Training application from Spring in Action  
  15.   </description>  
  16.     
  17.   <property name="target.dir" location="target"/>  
  18.   <property name="src.dir" location="src"/>  
  19.   <property name="java.src.dir" location="${src.dir}/java/main"/>  
  20.   <property name="test.src.dir" location="${src.dir}/java/test"/>  
  21.   <property name="web.src.dir" location="${src.dir}/webapp"/>  
  22.   <property name="webinf.dir" location="${web.src.dir}/WEB-INF"/>  
  23.   <property name="classes.dir" location="${target.dir}/classes"/>  
  24.   <property name="lib.dir" location="lib"/>  
  25.   <property name="war.file" location="${target.dir}/${ant.project.name}.war"/>  
  26.   <property name="webxml.file" location="${webinf.dir}/web.xml"/>  
  27.   <property name="depends.dir" location="${target.dir}/dependencies"/>  
  28.   <property name="xdoclet.lib.dir" location="xdocletlib"/>  
  29.   <property name="hbm.dir" location="${target.dir}/hbm"/>  
  30.   <property name="config.dir" location="config"/>  
  31.     
  32.   <property file="build.properties"/>  
  33. <!-- 指定了一个路径,路径下放着指定的jar文件   -->   
  34.   <path id="ant.lib.path">  
  35.     <fileset dir="${xdoclet.lib.dir}">  
  36.       <include name="*.jar"/>  
  37.     </fileset>  
  38.     <fileset dir="${spring.home}/lib">  
  39.       <include name="**/*.jar"/>  
  40.     </fileset>  
  41.     <fileset dir="${lib.dir}" includes="hsqldb*.jar"/>  
  42.     <path location="${classes.dir}"/>   
  43.   </path>  
  44.     
  45.   <fileset id="runtime.fileset" dir="${spring.home}/lib">  
  46.     <include name="aopalliance/aopalliance.jar" />  
  47.     <include name="hibernate/*.jar" />  
  48.     <include name="log4j/*.jar" />  
  49.     <include name="jakarta-commons/commons-logging.jar" />  
  50.     <include name="jakarta-commons/commons-lang.jar" />  
  51.     <include name="jakarta-commons/commons-beanutils.jar" />  
  52.     <include name="jakarta-commons/commons-digester.jar" />  
  53.     <include name="cglib/*.jar" />  
  54.     <include name="dom4j/*.jar" />  
  55.     <include name="j2ee/jta.jar" />  
  56.     <!--  
  57.     <include name="j2ee/jstl.jar" />  
  58.     <include name="jakarta-taglibs/*.jar" />  
  59.     -->  
  60.     <include name="itext/*.jar" />  
  61.     <include name="poi/*.jar" />  
  62.     <include name="oro/*.jar" />  
  63.     <include name="caucho/*.jar" />  
  64.   </fileset>  
  65.   
  66.   <!-- - - - - - - - - - - - - - - - - -   
  67.         target: copy dependency jars   
  68.        - - - - - - - - - - - - - - - - - -->  
  69.   <target name="-copyDependencies">  
  70.     <mkdir dir="${depends.dir}"/>  
  71.     <copy toDir="${depends.dir}">  
  72.       <mapper type="flatten"/>  
  73.       <fileset refid="runtime.fileset"/>  
  74.     </copy>  
  75.   </target>  
  76.     
  77.   <!-- =================================   
  78.         target: default                
  79.        ================================= -->  
  80.   <target name="war" depends="-copyDependencies,compile,generate-hbm,config"   
  81.       description="--> Build the WAR file">  
  82.     <war destfile="${war.file}" webxml="${webxml.file}">  
  83.       <lib dir="${lib.dir}" includes="*.jar"/>  
  84.       <lib dir="${depends.dir}" includes="*.jar"/>  
  85.         
  86.       <classes dir="${classes.dir}"/>  
  87.       <classes dir="${hbm.dir}"/>  
  88.       <webinf dir="${webinf.dir}" excludes="web.xml"/>  
  89.       <webinf dir="${target.dir}/webapp/WEB-INF"/>  
  90.       <fileset dir="${web.src.dir}" includes="index.html,jsp/**"/>  
  91.     </war>  
  92.   </target>  
  93.   
  94.   <!-- - - - - - - - - - - - - - - - - -   
  95.         target: generate hbm files  
  96.        - - - - - - - - - - - - - - - - - -->  
  97.   <target name="config">  
  98.     <filter token="db.url" value="${db.url}"/>  
  99.     <filter token="db.driver" value="${db.driver}"/>  
  100.     <filter token="db.username" value="${db.username}"/>  
  101.     <filter token="db.password" value="${db.password}"/>  
  102.     <filter token="hibernate.dialect" value="${hibernate.dialect}"/>  
  103.     <filter token="logfile.path" value="${logfile.path}"/>  
  104.   
  105.     <mkdir dir="${target.dir}/webapp/WEB-INF/classes"/>   
  106.   
  107.     <copy todir="${target.dir}/webapp/WEB-INF"   
  108.         file="${config.dir}/hibernate.properties"  
  109.         filtering="true"  
  110.         overwrite="true"/>  
  111.       
  112.     <copy todir="${target.dir}/webapp/WEB-INF/classes"  
  113.         file="${config.dir}/log4j.properties"  
  114.         filtering="true"  
  115.         overwrite="true"/>  
  116.   </target>   
  117.   
  118.   <!-- - - - - - - - - - - - - - - - - -   
  119.         target: generate hbm files  
  120.        - - - - - - - - - - - - - - - - - -->  
  121.   <target name="generate-hbm" depends="compile">  
  122.     <mkdir dir="${hbm.dir}"/>  
  123.       
  124.     <taskdef name="hibernatedoclet"   
  125.         classname="xdoclet.modules.hibernate.HibernateDocletTask"  
  126.         classpathref="ant.lib.path" />  
  127.   
  128.     <hibernatedoclet destdir="${hbm.dir}">  
  129.       <fileset dir="${java.src.dir}">  
  130.         <include name="**/*.java" />  
  131.       </fileset>  
  132.   
  133.       <hibernate version="2.0"/>   
  134.     </hibernatedoclet>  
  135.   </target>  
  136.   
  137.   <!-- - - - - - - - - - - - - - - - - -   
  138.         target: generate database schema  
  139.        - - - - - - - - - - - - - - - - - -->  
  140.   <target name="schema" depends="generate-hbm,config">  
  141.      
  142.     <taskdef name="schemaexport"  
  143.         classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"  
  144.         classpathref="ant.lib.path"/>  
  145.   
  146.     <schemaexport properties="${target.dir}/webapp/WEB-INF/hibernate.properties"   
  147.         quiet="yes"   
  148.         text="no"   
  149.         drop="no"   
  150.         delimiter=";"   
  151.         output="target/schema.sql">   
  152.   
  153.       <fileset dir="${hbm.dir}">   
  154.         <include name="**/*.hbm.xml"/>   
  155.       </fileset>   
  156.     </schemaexport>    
  157.   </target>  
  158.       
  159.   <!-- - - - - - - - - - - - - - - - - -   
  160.         target: setup database  
  161.        - - - - - - - - - - - - - - - - - -->  
  162.   <target name="setup_db" depends="schema">    
  163.     <sql driver="${db.driver}"  
  164.          url="${db.url}"  
  165.          userid="${db.username}"  
  166.          password="${db.password}"  
  167.          src="setup.sql"  
  168.          print="yes">  
  169.       <classpath>  
  170.         <pathelement location="lib/hsqldb.jar"/>  
  171.       </classpath>  
  172.     </sql>  
  173.   </target>   
  174.     
  175.     
  176.   <!-- - - - - - - - - - - - - - - - - -   
  177.         target: start Hypersonic                        
  178.        - - - - - - - - - - - - - - - - - -->  
  179.   <target name="hsql">  
  180.     <echo message="Starting HSQLDB"/>  
  181.     <java fork="true" dir="." classname="org.hsqldb.Server">  
  182.       <classpath>  
  183.         <pathelement path="${lib.dir}/hsqldb.jar"/>  
  184.       </classpath>  
  185.       <arg value="-database.0"/>  
  186.       <arg value="${hsql.path}"/>  
  187.       <arg value="-dbname.0"/>  
  188.       <arg value="${hsql.name}"/>  
  189.     </java>  
  190.   </target>  
  191.     
  192.   <!-- - - - - - - - - - - - - - - - - -   
  193.         target: compile                        
  194.        - - - - - - - - - - - - - - - - - -->  
  195.   <target name="compile">  
  196.     <mkdir dir="${classes.dir}"/>  
  197.     <javac srcdir="${java.src.dir}" destdir="${classes.dir}">  
  198.       <classpath>  
  199.         <pathelement path="${classpath}"/>  
  200.         <fileset dir="${xdoclet.lib.dir}">  
  201.           <include name="**/*.jar"/>  
  202.         </fileset>  
  203.         <fileset dir="${spring.home}/lib">  
  204.           <include name="**/*.jar"/>  
  205.         </fileset>  
  206.         <pathelement location="${spring.home}/dist/spring.jar"/>  
  207.       </classpath>  
  208.     </javac>  
  209.   </target>  
  210.       
  211.   <!-- - - - - - - - - - - - - - - - - -   
  212.           target: deploy web application  
  213.          - - - - - - - - - - - - - - - - - -->  
  214.   <target name="deploy" depends="war">  
  215.     <copy file="${war.file}" todir="${deploy.target}"/>  
  216.   </target>  
  217.     
  218.   <!-- - - - - - - - - - - - - - - - - -   
  219.         target: clean                        
  220.        - - - - - - - - - - - - - - - - - -->  
  221.   <target name="clean">  
  222.     <delete dir="${target.dir}"/>  
  223.   </target>  
  224.     
  225.     
  226.   <target name="zipItUp" depends="clean">  
  227.     <delete file="${target.dir}/${ant.project.name}.zip"/>  
  228.     <mkdir dir="${target.dir}"/>      
  229.   
  230.     <zip destfile="${target.dir}/${ant.project.name}.zip">  
  231.       <zipfileset dir="." prefix="${ant.project.name}">  
  232.         <include name="**"/>  
  233.         <exclude name="bin/**"/>  
  234.         <exclude name="target/**"/>  
  235.         <exclude name="todo.txt"/>  
  236.         <exclude name="src/webapp/WEB-INF/freemarker/**"/>  
  237.         <exclude name="src/webapp/WEB-INF/velocity/**"/>  
  238.       </zipfileset>  
  239.     </zip>  
  240.   </target>  
  241. </project>  

 

分享到:
评论

相关推荐

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant十五大最佳实践.doc"则可能总结了经验丰富的开发者在使用Ant时总结的一些技巧和建议,比如合理组织构建文件,使用变量和属性来减少重复,保持构建文件的简洁性,以及利用Ant的条件和循环结构来优化构建过程。...

    Ant使用指南.rar

    总结来说,Ant是一个强大的Java构建工具,通过XML配置文件实现构建过程的自动化。了解并熟练掌握Ant的使用,能极大地提升Java开发者的项目管理和构建效率。这份“Ant使用指南”将深入浅出地讲解Ant的各种特性和用法...

    ant使用手册ANT使用指南

    ### ant使用手册ANT使用指南 #### 一、引言 Ant是一种流行的开源构建工具,用于自动化软件项目的构建过程。尤其适用于Java项目,但它也可以用于非Java项目。由于Ant的灵活性和易用性,它在Java开发者社区中迅速...

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    ANT使用指南ANT使用指南

    ### ANT使用指南详解 #### 一、导言 Apache Ant 是一款开源的Java构建工具,类似于传统的Unix Make工具。Ant采用XML格式来定义构建过程,提供了丰富的任务(task)集合,适用于自动化编译、测试和部署Java应用程序。...

    ant工具使用指南ant工具使用指南

    总结,Ant作为Java开发中的构建工具,其强大在于灵活性和可扩展性。通过理解并掌握Ant的基本概念和常用任务,开发者可以自定义构建流程,提高开发效率。无论是小型项目还是大型企业级应用,Ant都能提供有力的支持。...

    ant编译命令总结

    Apache Ant 编译命令总结 Apache Ant 是一个基于 Java 的生成工具,主要用来将源代码和其他输入文件转换为可执行文件的形式,或者转换为可安装的产品映像形式。Ant 在软件开发中扮演着重要角色,确保在每次生成期间...

    Ant使用指南(适合初学者)

    总结,Ant是Java开发者的重要工具,掌握Ant的使用能够提高开发效率,简化项目管理。通过了解Ant的基本结构、任务和属性,初学者可以快速上手,并根据项目的具体需求进行定制。同时,理解Ant与其他构建工具(如Maven...

    Ant构建中使用JS脚本方法

    总结来说,Ant结合JavaScript脚本提供了一种强大的方式来定制和扩展构建过程,尤其适合处理项目中的特殊需求。通过熟练掌握这一技巧,开发者能够更有效地管理和自动化他们的Java项目,提高开发效率,减少手动操作...

    ANT使用详细总结与心得

    《ANT使用详细总结与心得》 ANT,全称Apache Ant,是一个Java库和命令行工具,其任务是驱动构建过程。它的设计目标是推动软件项目的构建过程自动化,尤其是在Java环境中。ANT以其灵活性和可扩展性著称,通过XML格式...

    ant使用最简单的实例

    总结一下,Ant是一个强大的Java项目构建工具,其核心在于XML格式的构建文件,它定义了项目的构建步骤和依赖。这个最简单的实例展示了如何用Ant编译源代码、创建JAR文件以及清理构建产物。掌握Ant的基本使用,能帮助...

    Ant 使用笔记

    Ant使用小结 用Ant完成生成javadoc的任务 ...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    总结起来,Apache Ant 1.6.5是一个为Java项目提供构建功能的工具,尤其适用于Windows平台。通过解压缩此ZIP文件并配置环境变量,用户可以利用Ant执行各种项目构建任务。详细的使用方法和特性可通过提供的readme.txt...

    ANT命令总结

    ANT 命令总结 Apache Ant 是一个基于 Java 的生成工具,用于将源代码和其他输入文件转换为可执行文件的形式。ANT 的配置和常用命令是软件开发中不可或缺的一部分。 ANT 是什么? Apache Ant 是一个基于 Java 的...

    Ant详细配置总结

    ### Ant详细配置总结 #### 一、Ant简介与特点 Ant是Apache旗下的一款强大的构建工具,主要用于Java项目的自动化构建过程,如编译、测试、打包、部署等操作。它的核心优势在于其高度的可定制性和灵活性,使得开发者...

    ant使用源代码

    这个任务可能使用Ant的内置`&lt;echoproperties&gt;`任务显示当前项目的属性,或者自定义脚本输出帮助文本。 3. `jar`任务:Ant提供了强大的打包功能,`&lt;jar&gt;`任务就是其中之一。它用于将编译后的类文件打包成JAR(Java ...

Global site tag (gtag.js) - Google Analytics