`
pengyeer
  • 浏览: 33823 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

[转]使用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>  

<project basedir="." name="basic-environment"></project>

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

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

<!---->
<project name="common"></project>

<!---->
<project name="common"></project>

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文件,在这个文件里面,我们主要进行编译,打包,测试,发布等工作。今天发布的只是与项目目录结构构建相关的脚本。

<!----><mkdir></mkdir>
<!----> 

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

<!---->
<project basedir="." name="modeltemplate"></project>

<!---->

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>  



  <property name="component.name" value="modeltemplate"></property>

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.           target: useage                         
  7.          - - - - - - - - - - - - - - - - - -->  
  8.     <target name="help">  
  9.         <echo message="/**-------------------------------------------------------------------------" />  
  10.         <echo message="* 项目名称:${project.name} 网络支持系统" />  
  11.         <echo message="* 作者:宋海鹏" />  
  12.         <echo message="* 与作者联系:E_Mail:ecsun@sohu.com,QQ:82676683" />  
  13.         <echo message="----------------------------------------------------------------------------*/" />  
  14.   
  15.   
  16.         <echo message="|---> 系统构建任务列表" />  
  17.         <echo message="|-  --> [ init ]               --> 系统构建初始化" />  
  18.            
  19.         <echo message="------------------------------------- END --------------------------------------" />  
  20.     </target>  
  21.     <!-- - - - - - - - - - - - - - - - - -    
  22.               target: init   系统初始化                 
  23.              - - - - - - - - - - - - - - - - - -->  
  24.     <target name="init">  
  25.            
  26.     </target>  
  27.        
  28.     <!-- - - - - - - - - - - - - - - - - -    
  29.           target: create-new-model 创建新模?          
  30.          - - - - - - - - - - - - - - - - - -->  
  31.     <target name="create-new-model">  
  32.         <echo level="info">  
  33. +-------------------------------------------------------------+   
  34. |    -- 欢迎使用${project.name}新模块生成向?!  --                |   
  35. |                                                             |   
  36. |      请正确回答以下问题,这些问题对自对生成新模块非常关键             |   
  37. +-------------------------------------------------------------+   
  38.             </echo>  
  39.         <input message="您希望新模块使用什么名字[model.name]?(注:模块名只能为英文)" addProperty="model.name">  
  40.         </input>  
  41.         <mkdir dir="${basedir}/${model.name}" />  
  42.         <copy todir="${basedir}/${model.name}">  
  43.             <fileset dir="${template.dir}/">  
  44.                 <include name="build.xml" />  
  45.             </fileset>  
  46.         </copy>  
  47.         <ant dir="${basedir}/${model.name}" target="init">  
  48.         </ant>  
  49.         <replaceregexp flags="g">  
  50.             <regexp pattern="modeltemplate" />  
  51.             <substitution expression="${model.name}" />  
  52.             <fileset dir="${basedir}/${model.name}">  
  53.                 <include name="build.xml" />  
  54.             </fileset>  
  55.         </replaceregexp>  
  56.     </target>  
  57.        
  58. </project>  


<project basedir="." name="zaodian"></project>

<target name="create-new-model"></target>

好了,现在我们所有的工作做完了,在目录x:/project键入命令:

ant create-new-model,输入你想要使用的模块名,看会出现什么结果?下载附件试一试?


 

  • article.rar (2.4 KB)
  • 描述: 本附件是目前进行自构建的基础目录结构。
  • 下载次数: 67
    分享到:
    评论

    相关推荐

      ANT项目构建

      ### ANT项目构建知识点详解 #### 一、Ant简介与安装配置 **Ant** 是一个开源的、跨平台的构建工具,由Apache基金会维护。它的主要功能在于自动化项目的构建过程,包括编译、测试、打包、部署等多个环节。通过使用...

      用Ant实现Java项目的自动构建和部署

      实例二:J2EE项目构建 在更复杂的配置中,需要定义多个目标,如`compile`、`war`、`deploy`等。使用`&lt;property&gt;`元素定义服务器的URL和认证信息。在`war`任务中,指定Web应用的源目录和目标WAR文件名。`deploy`任务...

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

      本指南将深入探讨Ant工具的使用,帮助开发者高效地管理项目构建。 一、Ant概述 Ant是一个开源的Java构建工具,其设计灵感来源于Unix的Make工具。它通过XML配置文件(通常名为build.xml)来定义任务和目标,使得构建...

      ANT 自动化构建

      描述中提到的链接指向了一篇ITEYE博客文章,虽然具体内容未给出,但可以推测这篇博客可能详细介绍了如何使用ANT进行自动化构建,包括如何编写`build.xml`文件,配置各种任务,以及如何执行构建过程。通常,这样的...

      解决Java 调用 Ant 包含 <import> 异常:import requires support in ProjectHelper

      在Java开发过程中,有时我们需要利用Ant工具来自动化构建项目,执行编译、打包等任务。然而,当在Ant脚本中使用`&lt;import&gt;`标签引入其他构建文件时,可能会遇到"import requires support in ProjectHelper"的异常。这...

      ant介绍使用视频和项目

      通过这个视频和项目,你将能够从零开始,逐步掌握Ant的使用,实现Java项目的构建、打包和部署。无论你是初学者还是有经验的开发者,这个资源都将帮助你更好地理解和运用Ant这一强大的构建工具。

      ant1.7使用手册指南

      构建文件使用XML格式,描述了项目构建的各个步骤和依赖关系。 2. **Ant的安装与配置**:了解如何下载Ant的发行版,配置环境变量,以及设置ANT_HOME以使系统能够找到Ant的库文件。 3. **构建文件结构**:学习如何...

      Ant构建中使用JS脚本方法

      在Ant构建中,你可能会使用JavaScript脚本来读取这个SQL文件,进行版本检查,或者在构建过程中自动执行这些SQL语句来更新项目数据库。 总结来说,Ant结合JavaScript脚本提供了一种强大的方式来定制和扩展构建过程,...

      使用Ant进行Java开发

      - **跨平台兼容性**:由于Ant是基于Java的,因此具有良好的跨平台兼容性,适用于不同操作系统上的项目构建。 通过以上内容可以看出,Ant不仅是一个简单的构建工具,还是一个强大的自动化构建框架,可以帮助开发者...

      java项目ant打包脚本

      Ant是一个开源的、跨平台的Java项目构建工具,它通过XML配置文件(如`build.xml`)定义任务,这些任务可以是编译源代码、创建JAR文件、运行测试、部署应用等。XML文件中包含了构建过程的步骤和依赖关系,使得构建...

      ant项目模板

      《Ant项目模板详解:快速构建Java项目的基石》 在软件开发过程中,项目初始化阶段往往需要耗费不少时间。为了提高效率,开发者通常会采用项目模板,它预设了基础的项目结构和规范,使得新项目的创建变得简单快捷。...

      Ant自动构建总结

      Ant使用XML来描述项目结构和构建过程,使得构建任务可以在不同的环境中重复执行,无需关心具体的操作系统或开发工具。这个压缩包中包含的`build.xml`文件就是Ant的构建脚本,用于定义构建任务、依赖关系和目标。 1....

      ant 使用指南-ant入门

      Ant是Apache软件基金会的一个开放源码项目,是一个基于Java的构建工具,它的设计目标是简化Java项目的构建过程。Ant以其XML格式的构建文件(build.xml)而著名,它允许开发者定义构建任务,这些任务可以包括编译源...

      如何使用ANT开发Java程序

      本篇文章将详细介绍如何使用Ant进行Java程序的开发,涵盖安装配置、项目结构设计、编写构建脚本等多个方面。 #### 二、准备工作 1. **安装 Ant** 首先,你需要下载并安装 Ant。这里我们假设你已经将 Ant 解压到...

      ant使用指南及使用教程

      Ant是Java项目管理和自动化构建的重要工具,尤其在早期的Java EE应用开发中广泛使用。本文将深入探讨Ant的使用指南和教程,帮助你掌握其基本概念和实际操作。 1. Ant基本概念: - 构建文件:Ant的核心是构建文件,...

      ant使用手册(中文教程)

      Ant是Apache软件基金会开发的一款Java项目构建工具,它基于XML来定义构建过程,使得构建脚本具有可读性高、可移植性强的特点。这个“ant使用手册(中文教程)”涵盖了Ant的基本概念、配置语法、任务使用以及在Java...

      ant build 项目实例

      总结来说,“ant build 项目实例”涉及到的关键知识点包括Ant构建文件`build.xml`的结构和任务定义,`build_ODC.properties`中的项目配置管理,以及Ant如何处理构建过程中的各种操作,如编译、测试、打包和依赖管理...

      使用ant构建helloworld

      现在,你已经创建了`build.xml`,你可以运行Ant来构建项目。在命令行中导航到包含`build.xml`的目录,然后执行`ant main`命令,Ant会按照`build.xml`中的定义执行所有任务。 在这个“Hello, World!”示例中,你可能...

    Global site tag (gtag.js) - Google Analytics