[转]使用Ant进行项目构建之二:规划我们的项目目录结构

前面已经把ant的基本运行环境搭建好了,在接下来的工作中,将一步一步的开始构建我们的项目。

选择项目目录结构:

一个项目开始的时候,选择一个合适的项目目录结构,是一件很重要的事情,可能你会很习惯由IDE自动创建的目录结构,如Elcipse或JB,但有些时候,这样的目录结构可能并不是最好的,所以,在项目开始的时候,我们要对我们的目录结构进行合理的规划,这样,我们的项目在向前推动的过程中,才会井然有序。我个人比较推崇按项目模块来划分目录结构,这样整个项目不管进行到什么时候,也不管项目中有多少类,都可以很方便的找到你想要的资源。当然,对于一个项目来说,都有一个核心支撑模块来构成整个项目的骨架,那我们就从这个骨架开始,来构建我们的项目。

1.在你工作的任意硬盘上创建目录:x:/project,并在x:/project 下新建四个xml文件,文件名分别命名为:build-basic-environment.xml,build-common-java.xml,build.xml.build-common.xml

2.其中,builde-basic-environment.xml为进行系统构建的基础环境变量的设置,当然,可能有些ant用户喜欢使用.properties文件进行这些变量的描述,但我们个更喜欢以标准的xml格式来描述,并推荐使用这一方式。本文件的基本形式如下:

xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <project name="basic-environment" basedir=".">  
  3.     <property name="project.name" value="myproject">  
  4.     property>  
  5.     <property environment="env" />  
  6.     <property name="template.dir" value="${basedir}/template"/>  
  7. project>  


当然 ,以后我们的全局信息,可以不断的添加到本文件中。

3.build-common.xml,在本构建文件中,书写与模块相关的基础信息,虽然这些都是一些很简单的基础信息,但对整个项目来说,却像骨架一样。文件如下:



xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <project name="common">  
  3.   
  4.     <property name="project.dir" value="..">property>  
  5.     <property name="project.version" value="1.0.0">property>  
  6.     <property name="packages" value="com.myproject">property>  
  7.   
  8.     <property name="build.dir" value="${basedir}/build" />  
  9.     <property name="dist.dir" value="${basedir}/dist" />  
  10.     <property name="bak.dir" value="${basedir}/bak" />  
  11.     <property name="doc.dir" value="${basedir}/doc" />  
  12.     <property name="class.dir" value="${build.dir}/classes">property>  
  13.     <property name="javac.debug" value="true">property>  
  14.     <property name="src.dir" value="${basedir}/src">property>  
  15.   
  16.   
  17.     <property name="test.dir" value="${basedir}/test">property>  
  18.     <property name="test.data.dir" value="${test.dir}/data">property>  
  19.     <property name="test.reports.dir" value="${test.dir}/reports">  
  20.     property>  
  21.     <property name="test.src" value="${test.dir}/src">property>  
  22.     <property name="build.test.dir" value="${build.dir}/test">  
  23.     property>  
  24.     <property name="build.web.dir" value="${build.dir}/web">property>  
  25.     <property name="WebRoot.dir" value="${basedir}/WebRoot">property>  
  26.     <property name="generator.dir" value="${basedir}/generator">  
  27.     property>  
  28.     <property name="metada.dir" value="${basedir}/metada">property>  
  29.        
  30.     <property name="lib.dir" value="${project.dir}/lib" />  
  31.        
  32.     -- =================================    
  33.         target:  系统路径                    
  34.         =================================   -->  
  35.     <path id="project.class.path">  
  36.         <pathelement path="${classpath}" />  
  37.         <fileset dir="${lib.dir}">  
  38.             <include name="*.jar" />  
  39.         fileset>  
  40.     path>  
  41.     -- =================================    
  42.         target:  测试路径                    
  43.         =================================   -->  
  44.     <path id="test.class.path">  
  45.         <path refid="project.class.path">path>  
  46.         <pathelement path="${lib.dir}/junit.jar" />  
  47.         <pathelement path="${build.test.dir}" />  
  48.         <pathelement path="${class.dir}" />  
  49.     path>  
  50. project>  





4.接下来,我们来看build-common-java.xml文件,在这个文件里面,我们主要进行编译,打包,测试,发布等工作。今天发布的只是与项目目录结构构建相关的脚本。


 

xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <project name="build-common-java">  
  3.     <import file="build-common.xml" />  
  4.     <target name="init" description="系统构建目录初始化">  
  5.         <mkdir dir="${build.dir}" />  
  6.         <mkdir dir="${dist.dir}" />  
  7.         <mkdir dir="${bak.dir}" />  
  8.         <mkdir dir="${src.dir}">  
  9.         mkdir>  
  10.         <mkdir dir="${doc.dir}" />  
  11.         <mkdir dir="${doc.dir}/source" />  
  12.         <mkdir dir="${doc.dir}/api" />  
  13.         <mkdir dir="${class.dir}" />  
  14.         <mkdir dir="${test.dir}" />  
  15.         <mkdir dir="${test.data.dir}" />  
  16.         <mkdir dir="${test.reports.dir}" />  
  17.         <mkdir dir="${test.src}" />  
  18.         <mkdir dir="${build.test.dir}" />  
  19.         <mkdir dir="${WebRoot.dir}" />  
  20.         <mkdir dir="${generator.dir}" />  
  21.         <mkdir dir="${metada.dir}" />  
  22.     target>  
  23. project>  


5.下面,我们在x:/project目录下新建文件夹template,并在本文件夹下新增以下结构的xml文件,名为:build.xml


xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <project name="modeltemplate" basedir=".">  
  3.     <property name="component.name" value="modeltemplate">property>  
  4. <import file="../build-common-java.xml" />  
  5.   
  6. project>  



 

6.下面我们开始书写x:/project/build.xml脚本:

xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <project name="zaodian" basedir=".">  
  3.     <import file="build-basic-environment.xml" />  
  4.   
  5.      系统构建任务列表" />  
  6.         <echo message="|-  --> [ init ]               --> 系统构建初始化" />  
  7.            
  8.         <echo message="------------------------------------- END --------------------------------------" />  
  9.     target>  
  10.     

你可能感兴趣的:(Ant,XML,QQ,脚本,junit)