Ant构建文件

来源:互联网 发布:2017软件设计师答案 编辑:程序博客网 时间:2024/05/05 06:42
 

     一个典型的构建文件(build.xml):

  <?xml version="1.0" encoding="GBK"?>
<project name="利用工具开发Hibernate" default="help" basedir="."> 
<!-- ******  环境设置,可以根据自己的实际配置自行更改 ***** --> 
<!-- 源文件目录, 可以通过 项目->属性->Java构建路径 更改 --> 
<property name="src.dir" value="./src" /> 
<!-- 输出的class文件目录,可以通过 项目->属性->Java构建路径 更改 --> 
<property name="class.dir" value="./bin" /> 
<!-- 库文件目录  --> 
<property name="lib.dir" value="F:/workspace/Hibernate/lib" /> 
<!--上面这个property指出了一系列taskdef定义中classname的目录(这些classname所指的项都由F:/workspace/Hibernate/lib包含了)-->

<!-- 定义类路径 --> 
<path id="project.class.path">  
<fileset dir="${lib.dir}">   <!-- 属性的引用可以通过将属性名放在"${}"之间来实现-->
<include name="*.jar"/>  
</fileset>  
<pathelement location="${class.dir}" /> 
</path> 
<!-- ************************************************************** --> 
<!-- 使用说明 --> 
<!-- ************************************************************** --> 
<target name="help">  
<echo message="利用工具开发Hibernate" />  
<echo message="-----------------------------------" />  
<echo message="" />  
<echo message="提供以下任务:" />  
<echo message="" />  
<echo message="generate-code     --> 运行Hbm2Java,利用 hbm.xml 文件生成Java类文件" />  
<echo message="generate-hbm      --> 运行HibernateDoclet,生成 Hibernate 类的映射文件" />  
<echo message="schemaexport     --> 运行SchemaExport,利用 hbm.xml 文件生成数据表" />  
<echo message="" /> 
</target> 
<!-- ************************************************************** --> 
<!-- Hbm2Java 任务 --> 
<!-- ************************************************************** --> 
<target name="generate-code" >  
<echo message="运行 Hbm2Java 任务, 利用 hbm.xml 文件生成Java类文件"/>  
<taskdef name="hbm2java"       classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"          classpathref="project.class.path">  
</taskdef>  
<hbm2java output="${src.dir}">   
<fileset dir="${src.dir}">    
<include name="**/*.hbm.xml"/>   
</fileset>  
</hbm2java> 
</target> 
<!-- ************************************************************** --> <!-- HibernateDoclet 任务 --> 
<!-- ************************************************************** --> 
<target name="generate-hbm" >  
<echo message="运行HibernateDoclet,生成 Hibernate 类的映射文件"/>  
<taskdef name="hibernatedoclet"    classname="xdoclet.modules.hibernate.HibernateDocletTask"    classpathref="project.class.path">  
</taskdef>  
<hibernatedoclet destdir="${src.dir}"    excludedtags="@version,@author,@todo" force="true" encoding="GBK"    verbose="true">   
<fileset dir="${src.dir}">    
<include name="**/*.java"/>  
</fileset>   
<hibernate version="2.0" xmlencoding="GBK" />  
</hibernatedoclet> 
</target> 
<!-- ************************************************************** --> 
<!-- SchemaExport 任务 --> 
<!-- ************************************************************** --> 
<target name="schemaexport">  
<echo message="运行SchemaExport,利用 hbm.xml 文件生成数据表"/>  
<taskdef name="schemaexport"    classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"    classpathref="project.class.path">  
</taskdef>  
<schemaexport config="${src.dir}/hibernate.cfg.xml" quiet="no"    text="no" drop="no" output="schema-export.sql">  
</schemaexport> 
</target>
</project>

  <project>是构建文件的根目录.<echo>中的message定义了任务(task)被执行时打印在控制台的信息.以上构建文件的project 的name属性为"利用工具开发Hibernate",若用Eclipse进行开发 ,在使用Ant后,在Eclipse的使用界面上会出现"利用工具开发Hibernate"的操作条.另外这个构建文件中定义了4个target,在Eclipse中那个操作条下面会出现四个以这些target的name命名的操作,双击这些操作,就能自动执行这些操作所定义的具体动作.这便给了一个我们编写ANT构建文件的基本框架.(Eclipse主菜单上点击“窗口” ->“显示视图” ->点击“Ant”,这样就调出了Ant视图,在这个视图窗口的空白处,右击,在弹出菜单中选择“添加构建文件”,然后将HibernateBegin_2项目根目录下的“build.xml”文件载入即可。)

  下面是我写的一个简单的ANT构建文件(细节还有错误,但是大致能够说明构建文件的结构)

  <path id="project.class.path">  
<fileset dir="${lib.dir}">   
<include name="*.jar"/>  
</fileset>  
<pathelement location="${class.dir}" /> 
</path> 
<!-- ************************************************************** --> 
<!-- 使用说明 --> 
<!-- ************************************************************** --> 
<target name="help">  
<echo message="利用工具开发Hibernate" />  
<echo message="-----------------------------------" />  
<echo message="" />  
<echo message="提供以下任务:" />  
<echo message="" />  
<echo message="run java      --> 运行java程序" />  
<echo message="" /> 
</target> 
<!-- ************************************************************** --> 
<!-- 编译java任务 --> 
<!-- ************************************************************** --> 


<!-- ************************************************************** --> 
<!-- 执行java任务 --> 
<!-- ************************************************************** --> 
<target name="run-java" >  
<echo message="运行java程序"/>  
<java classname="${class.dir}/"/>
</target> 
<!--*****************************************************************-->
<!--将源文件拷到class.dir中-->
<target name="move the source code">
<echo message="将源文件移动字节码文件所在的目录中"/>
<copy file="${src.dir}/" todir="${class.dir}"/>
</target>
</project>

 

 

原创粉丝点击