`
kakaluyi
  • 浏览: 438857 次
  • 性别: 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完成生成javadoc的任务 ...

    ANT使用详细总结与心得

    ANT使用详细总结,讲解的很细,值得收藏夹

    ant 学习与总结

    1 Ant是什么? 2下载、安装Ant 3编写build.xml Ant 命令行参考 Apache Ant 是一个基于 Java的生成工具。 生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像...

    Ant详细配置总结

    里面详细说明什么是Ant,以及Ant在实战中详细配置内容,精简、实用!

    ant入门及技术总结

    ant入门及技术总结

    ANT命令总结

    ANT基本命令的总结,介绍了什么是ANT,ANT的配置,以及ant的常用命令

    JAVA_Ant详细介绍与应用

    包含文档和项目实例。 用Ant实现Java项目的自动构建和部署。 JAVA_Ant详细介绍与应用。...2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结

    java ant 使用的ppt

    本文档是通过大量的总结,编写的ppt,通俗易懂

    ANT 基础学习小结

    学习ant的总结 Ant 组建,集成构件工具,相当于windows下的bat 批处理文件

    ant编译命令总结

    作为apache下的一个编译工具,可以用来编译一些较大的java web项目,简单实用方便!

    ant总结.TXT

    ant总结,让你很容易了解ant技术sssssssssssssssssssssss

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.10 Ant使用入门 1.11 Maven Ant之间的比较 1.12 详解MANIFEST.MF文件 1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置...

    AntDesign蚂蚁金服Web_PC原型组件.rplib

    Ant Design 源自蚂蚁金服...Ant的设计师和前端工程师经过大量的项目实践和总结,沉淀出一套企业级的交互视觉规范,统一中后台项目的前端 UI 设计,屏蔽各种不必要的设计差异和前端实现成本,解放设计和前端开发资源。

    Ant 1.9.1 学习笔记

    关于Ant学习的一点点小结,整理成档了,文档中已经包含了几个简单的build.xml实例,也有注释,简单明了、通俗易懂

    ant1.9资源

    Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。 1. 利用Ant的javac任务来编译java程序 Ant的javac任务用于实现编译Java程序的功能。下面来...

    Ant自动构建总结

    NULL 博文链接:https://yushan.iteye.com/blog/389436

    Vue+Ant Design Vue学习经验分享1.doc

    本文档主要是本人对Vue和Ant Design Vue学习后总结的经验,方便其它同事能够通过该文档对该技术有所了解 , 同时方便产品团队对前后分离的技术有增加知识储备。 目录如下 2.Vue经验分享 2.1 Vue介绍 2.2 Vue的MVVM...

    java技术参考大全(ant使用,eclipse开发、分页大全、设计模式等)

    该资源内含几十个资源是我多年收集总结所得,涵盖java的方方面面,有struts,ant使用、cvs、eclipse使用,设计模式,分页大全、配置说明、正则表达式等等内容,希望能帮助到大家

    ANT 编译最佳实践

    本文档中的内容多是从实际开发中总结出来的。 ANT 最佳实践 http://www.ossez.com/forum.php?mod=viewthread&tid=13460&fromuid=426

    ant_junitc测试

    在mybatis的学习过程中,笔者就将使用ant来管理自己的工程。因此,就先用两篇博文来介绍ant的简单用法,作为预备,并希望能对想了解ant的朋友有所帮助。本文即介绍如何在Windows XP下安装、配置ant(Windows 7下与此...

Global site tag (gtag.js) - Google Analytics