`

ANT: 一个通用Build.xml模板的建立[转自蚂蚱Blog]

 
阅读更多
build.xml详解:
http://fykyx521.iteye.com/blog/543932

建立web应用的 ant build.xml 模板

一、建立Web应用步骤
1、清空临时目录
2、建立目录结构
3、从vss或cvs中获得源文件
4、编译(编译java源文件、copy属性文件和xml等文件、编码转换)
5、建立WAR包
6、发布

二、建立web应用的 build.xml 模板

1.
<?xml version="1.0" encoding="UTF-8" ?>
 
<project name="Hello world" default="doc" basedir="." >
 <!-- 要用到的其它文件定义的属性 -->
 <property file="build.properties"/>
 
 <property name="prj_dir" value=".."/>
  
 <!-- 定义一些常量 -->
    <property file="build.properties" />
 
 <property name="conifg.dir" value="${prj_dir}/config" />
    <property name="src.dir" value="${prj_dir}/src" />
    <property name="report.dir" value="${prj_dir}/report" />
    <property name="lib.dir" value="${prj_dir}/libs" />
    <property name="dist.dir" value="${prj_dir}/dist" />
    <property name="doc.dir" value="${prj_dir}/doc" />
    <property name="test.dir" value="${prj_dir}/test" />
    <property name="target.dir" value="${prj_dir}/target" />
    <property name="classes.dir" value="${prj_dir}/WebRoot/WEB-INF/classes" />
    <property name="target.classes.dir" value="${target.dir}/classes" />
    <property name="target.testclasses.dir" value="${target.dir}/test-classes" />
    <property name="webroot.dir" value="${prj_dir}/WebRoot" />
    <property name="db.dir" value="${prj_dir}/db" />
    
 <!-- 定义classpath -->
 <!-- 指明你所用到的jar包、class 文件存放的位置 -->
    <path id="master-classpath">
        <fileset file="${lib.dir}/.*.jar" />
        <pathelement path="${webroot.dir}/WEB-INF/classes" />
    </path>
    
    <!-- 初始化任务 -->
    <target name="init" depends="clean">
  
    </target>
     
     
 <!--清除所有输出目录-->
 <target name="clean" description="清空所有输出目录">
     <echo message="清空所有输出目录"/>
     <delete dir="${target.classes.dir}" />
     <delete dir="${target.testclasses.dir}" />
     <delete dir="${target.dir}" />
     <delete dir="${dist.dir}" />
     <delete dir="${doc.dir}" />
 </target>
 
 <!-- 编译 -->
 <target name="compile" depends="init" description="编译所有的java类">
     <echo message="编译所有的java类"/>
     <mkdir dir="${target.classes.dir}" />
     <javac srcdir="${src.dir}" destdir="${target.classes.dir}" target="1.6">
         <classpath refid="master-classpath" />
     </javac>
 </target>
 
 <!-- 测试     -->
 <target name="test" depends="compile" description="进行单元测试">
     <mkdir dir="${report.dir}"/>
     <junit printsummary="on"
             haltonfailure="false"
             failureproperty="tests.failed"
             showoutput="true">
         <classpath refid="master-classpath" />
         <formatter type="plain"/>
         <batchtest todir="${report.dir}">
             <fileset dir="${classes.dir}">
                 <include name="**WEB-INF/classes/" />
   </fileset>
   <classes dir="${target.classes.dir}"></classes>
   <classes dir="${conifg.dir}">
    <include name="*.properties" />
    <include name="*.xml" />
    <exclude name="applicationContext.xml" />
    <exclude name="web.xml" />
   </classes>
   <lib dir="${lib.dir}">
     <include name="**" />
           <exclude name="**/servlet-api.jar" />
           <exclude name="**/j2ee*.jar" />
           <exclude name="**/junit*.jar" />
   </lib>
   </war>
 </target>
   
     <!-- 部署到tomcat webapps目录下-->
 <target name="deploy-war" depends="war" description="部署到tomcat webapps 目录下">
     <echo message="部署BuyPower.war到tomcat的webapps下"/>
     
   <copy todir="${tomcat.deploy.dir}" overwrite="true" >
         <fileset dir="${dist.dir}">
       <include name="buypower.war"/>
         </fileset>
     </copy>
 </target>
    
 <!-- 输出api文档 -->
 <target name="doc" depends="compile" description="创建api文档">
  <mkdir dir="${doc.dir}" />
  <javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Your Project API">
   <packageset dir="${src.dir}" defaultexcludes="yes">
     <include name="com/**" /> <!--所包含的包,这里需要根据实际进行改变 -->
   </packageset>
   <doctitle>
     <![CDATA[<h1>Your Project description</h1>]]></doctitle>
   <bottom>
    <![CDATA[<i>Your companny Name,Inc,All Rights Reserved.</i>]]></bottom>
   <tag name="todo" scope="all" description="To do:" />
     </jav



2.
<?xml version="1.0"?>

<!--
  =======================================================================
  build file

    =======================================================================
-->
<project default="main" basedir="build">

  <property name="file.war" value="myapp.war"/>

  <property name="dir.jdk" value="c:/jbuilderx/jdk1.4"/>

  <property name="dir.src" value="src"/>
  <property name="dir.classes" value="classes"/>
  <property name="dir.lib" value="lib"/>
  <property name="dir.web" value="web"/>

  <property name="vss.login" value="userId,password"/>
  <property name="vss.serverPath" value="i:\"/>
  <property name="vss.srcPath" value="/myproject/src"/>
  <property name="vss.libPath" value="/myproject/lib"/>
  <property name="vss.webPath" value="/myproject/webapp"/>

  <property name="server.ftp.userId" value="ftpuser"/>
  <property name="server.ftp.password" value="ftppassword"/>
  <property name="server.ftp.serverIp" value="192.168.0.1"/>

  <path id="project.class.path">
    <pathelement location="${dir.classes}"/>
 <pathelement location="${dir.jdk}/jre/lib/rt.jar"/>

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

  <target name="clean">
   <delete dir="${dir.src}"/>
   <delete dir="${dir.classes}"/>
   <delete dir="${dir.lib}"/>
  </target>
  
  <target name="init" depends="clean">
   <mkdir dir="${dir.src}"/>
   <mkdir dir="${dir.classes}"/>
   <mkdir dir="${dir.lib}"/>
  </target>

  <target name="getFromVcm" depends="init">
 <vssget localPath="${dir.src}"
  login="${vss.login}"
  vsspath="${vss.srcPath}"
  recursive="true"
  serverPath="${vss.serverPath}"
  writable="true"/>

 <vssget localPath="${dir.lib}"
  login="${vss.login}"
  vsspath="${vss.libPath}"
  recursive="true"
  serverPath="${vss.serverPath}"
  writable="true"/>
 
 <vssget localPath="${dir.web}"
  login="${vss.login}"
  vsspath="${vss.webPath}"
  recursive="true"
  serverPath="${vss.serverPath}"
  writable="true"/>
 
  </target>

  <target name="compile" depends="getFromVcm">
 <javac bootclasspathref="project.class.path" debug="true" 
        deprecation="true" destdir="${dir.classes}" nowarn="false" target="1.2">
      <src path="${dir.src}"/>
    </javac>
 <copy todir="${dir.classes}">
   <fileset dir="${dir.src}">
    <include name="**/*.properties"/>
      <include name="**/*.xml"/>
    <exclude name="ApplicationResources.properties"/>
    </fileset>
 </copy>
 <native2ascii encoding="GBK" src="${dir.src}" dest="${dir.classes}"
    includes="ApplicationResources.properties"/>
  </target>

  <target name="buildWar" depends="compile">
 <war destfile="${file.war}" webxml="${dir.web}/WEB-INF/web.xml">
  <lib dir="${dir.lib}"/>
  <classes dir="${dir.classes}"/>
  <fileset dir="${dir.web}"/>
 </war>
  </target>

  <target name="deploy" depends="buildWar">
    <ftp server="${server.ftp.serverIp}"
    userid="${server.ftp.userId}"
       password="${server.ftp.password}">
 <fileset dir=".">
      <include name="${file.war}"/>
    </fileset>
 </ftp>
  </target>

  <target name="main" description="" depends="deploy"/>

</project>
分享到:
评论

相关推荐

    ant的build.xml模板

    《Ant的build.xml模板详解与应用》 在软件开发领域,构建工具是不可或缺的一部分,它帮助开发者自动化地完成编译、测试、打包等任务。Apache Ant作为Java领域的一款经典构建工具,以其灵活性和强大的功能深受广大...

    一个常用的ant的build.xml

    标题“一个常用的ant的build.xml”暗示了我们讨论的是一个标准且常见的Ant构建配置文件。这样的文件通常包含了项目构建的全套指令,包括清理、编译源代码、打包、运行测试以及部署等步骤。 在描述中提到的博客链接...

    Jmeter+ant实现测试报告build.xml和报告模板jmeter-results-newreport.xsl

    然后,在Ant的`build.xml`文件中配置JMeter测试脚本路径、输出结果的目录以及报告模板的位置。运行Ant构建文件,它会执行JMeter测试,生成CSV或XML结果文件,并使用`jmeter-results-newreport.xsl`模板转换成HTML...

    用ant编译J2ME代码的build.xml模板

    在Java世界里,Ant是一个非常重要的自动化构建工具,它基于XML来定义任务,可以执行编译、测试、打包等操作。对于J2ME(Java 2 Micro Edition)开发,Ant同样适用,帮助开发者自动化处理代码的编译过程。本文将详细...

    Ant_的最完整build.xml解释,Ant入门与进阶

    2. build.xml结构:build.xml文件是Ant的配置文件,包含了项目构建的所有指令。文件通常包含project、target、task、property等元素,其中project是顶级元素,target定义了执行步骤,task是执行的具体动作,property...

    生成ANT所需要的Build,xml文件

    ANT是一个基于Java的构建工具,它允许开发者定义任务来编译、打包、测试和部署应用程序。"生成ANT所需要的Build.xml文件"这一主题,核心在于如何通过Python程序自动生成ANT的配置文件——build.xml。 首先,我们要...

    ant打包配置文件build.xml

    ant打包配置文件,参考了博主的文章,作者:失语失芯不失梦 链接:https://www.jianshu.com/p/04cfce59890a 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    ant编译java web的build.xml文件

    Apache Ant是Java领域广泛应用的一个开源构建工具,其核心在于一个名为`build.xml`的配置文件。本文将深入探讨`build.xml`文件的结构和功能,以及如何利用它来编译Java Web应用。 1. **Ant基础** Apache Ant是一种...

    jmeter+ant 持续集成build.xml文件

    jmeter+ant 持续集成build.xml文件,直接使用ant命令执行jmeter脚本文件,得到图形测试报告

    jmeter+ant所需要的build.xml文件

    第一次做jmeter+ant自动化接口测试,需要build文件,开始直接copy博客中的内容,格式不对,调试好久不成功;后发现在jmeter/extras文件夹中有一个build文件,copy出来根据需要修改下,成功了,特上传自选供大家使用...

    ant 较完整的build.xml解释

    下面是一个简单的`build.xml`示例,展示了如何使用Ant构建一个简单的Java项目。 ```xml &lt;project name="MyApp" default="build" basedir="."&gt; &lt;property name="src.dir" value="src"/&gt; &lt;property name="build....

    ant+jenkins-build.xml

    jmeter+ant+jenkins---build.xml文件,下载运行即可成功

    ant build.xml 使用实例

    Apache Ant 是一个广泛使用的Java构建工具,它以XML格式定义构建脚本,即`build.xml`文件。这个文件包含了构建项目的整个流程,从编译源代码到生成最终的可执行或部署包。下面我们将深入探讨`build.xml`的使用以及...

    ant打包ant的build.xml的详解

    Ant 是一个功能强大且灵活的自动化构建工具,本文只是简单介绍了 Ant 的环境变量配置和 build.xml 文件的配置详解。通过使用 Ant,我们可以自动化项目的构建、测试和部署过程,从而提高开发效率和项目质量。

    ant build.xml 详解

    它的核心在于一个名为`build.xml`的配置文件,它定义了项目的构建过程,包括编译、测试、打包和部署等各个阶段。在本文中,我们将深入探讨`build.xml`的结构、元素以及如何使用它来管理Java项目。 1. **Ant基本概念...

    ant 默认构建文件 demo build.xml

    ant build.xml demo 供自己及好友学习,能很快上手

    ant编译java web工程build.xml配置文件

    介绍了如何通过ant进行java web工程的编译操作的详细配置

    ant打包sdk中build.xml

    在IT行业中,Ant是一个广泛应用的自动化构建工具,主要在Java项目中用于编译、测试、打包和部署等任务。本文将深入探讨Ant及其在打包SDK过程中的应用,特别是在处理低版本SDK时的问题。 首先,我们要了解`build.xml...

    ANT-build.xml命令详解

    Apache Ant 是一个Java平台上的开源构建工具,它通过XML格式的配置文件(如`build.xml`)来定义构建任务。Ant的设计理念是“简单就是美”,它使得Java项目的构建过程变得可配置且易于理解。本文将深入解析`build.xml...

Global site tag (gtag.js) - Google Analytics