`
子衿青青
  • 浏览: 110855 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

编写流程脚本build.xml

 
阅读更多

Ant 是 Apache 软件基金会的一个子项目,它有以下的优点:
1、跨平台性,纯 Java 语言编写,有很好的跨平台支持;
2、操作简单,Ant 是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(默认为build.xml);
3、易维护, Ant 构建文件使用 XML 格式的文件,通过调用 target 树执行各种 task ,每个 task 实现了特定接口对象(也可以理解为实现各种功能),结构清晰,易维护。

 

Ant 可以集成到开发环境中,由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

 

开工:

这段内容摘自http://shawnqiu.iteye.com/blog/712284  测试用的内容,在此扩展下,也感谢

qiuxiaorong1979 童鞋的整理,不过格式编写格式还要加强哦:)
 
对于path的学习可以参考http://kouriba.iteye.com/blog/1629839童鞋的文章。
 
中间穿插有我标记的说明及注意事项(标记是红色的,保存后变了,我的标记之前是八个空格)。
有些内容格式的使用是多样的,这里只有一种格式,不一定是常用的,但是可以作参考之用。

 

<?xml version="1.0"?>
<project name="NES" default="doc">        --project 最外层节点,name可自起,default指默认运行哪一个target.一般写最后一个,最后一个再依赖前面的,如此循环执行所有的任务。
    <property name="NES.home" value="." />        --全局常量,自定义,name命名可以使用“.”隔开,如upgrade.login.name等
   <!-- 源jsp文件地址 -->
    <property name="jsp.dir" value="${NES.home}/WebRoot" />
    <!-- 源java文件地址 -->
    <property name="java.dir" value="${NES.home}/src" />
    <!-- 最终发布文件地址 -->
    <property name="dist.dir" value="${NES.home}/dist" />
    <!-- 最终class文件地址 -->
    <property name="classes.dir" value="${NES.home}/dist/WEB-INF/classes" />
    <!-- 最终jar文件地址 -->
    <property name="jar.dir" value="${NES.home}/jar" />

    <property name="lib.dir" value="lib" />
    <property name="dist.dir" value="dist" />
    <property name="doc.dir" value="doc"/>

    <!-- 定义classpath -->
    <path id="master-classpath">        --如上所述
        <fileset file="${NES.home}/WebRoot/WEB-INF/lib/*.jar" />
        <pathelement path="${classes.dir}"/>
    </path>

    <!-- 初始化 -->        --任务 01  可参考http://taink.iteye.com/blog/504034  童鞋的文章,一般任务编写都是从上到下按顺序创建任务的
   <target name="init">
      <delete dir="${jar.dir}"/>
      <delete dir="${dist.dir}"/>
      <mkdir dir="${jar.dir}" />
      <mkdir dir="${dist.dir}" />
      <mkdir dir="${classes.dir}" />
    </target>
    <!-- 编译 -->        --任务 02  depends指依赖int任务,应该不用多说了吧
    <target name="compile" depends="init" description="compile the source files">
        <javac srcdir="${java.dir}" destdir="${classes.dir}" target="1.6" includeantruntime="on" >        --srcdir:包含源文件的路径。destdir:编译后文件存放的目标文件夹,默认是当前文件夹。 
target:指定Java 虚拟机版本。includeantruntime:是否应在类路径中包括 Ant 运行时程序库。可参考http://zhaohaolin.iteye.com/blog/971131  
            <compilerarg line="-encoding UTF-8" />
            <classpath refid="master-classpath" />
        </javac>
    </target>
    <!-- 测试 -->        --任务  03  
    <target name="test" depends="compile" description="run junit test">
    </target>
    <!-- 打包 -->        --任务  04  
    <target name="pack" depends="test" description="make .jar file">
        <copy todir="${dist.dir}/WEB-INF/classes" preservelastmodified="true">        --copy可对文件或目录复制,fileset可指定copy哪些文件或目录
            <fileset dir="${java.dir}" >
                <include name="**/**"/>
                <include name="**.**"/>
                <exclude name="com/**"/>
            </fileset>
        </copy>
        <copy todir="${dist.dir}" preservelastmodified="true">
            <fileset dir="${jsp.dir}" >
                <include name="**/**"/>
                <include name="**.**"/>
                <exclude name="classes/**"/>
            </fileset>
        </copy>
        <jar destfile="${jar.dir}/nes.jar" basedir="${dist.dir}" />
    </target>
    <!-- 文档 -->        --任务  05  
    <target name="doc" depends="pack" description="create api doc">
    </target>
</project>

 

 扩展几个标签:

1、target下使用<echo></echo>可在打印自己想到表达或注释的内容。

2、target下使用<telnet></telnet>可登录远程服务器,如

       <telnet server="${server.ip}">        --read读取属性,write输入信息。
            <read>ogin:</read>
            <write>${server.login.name}</write>
            <read>assword:</read>
            <write>${server.login.pwd}</write>

            <read>${prompt_end}</read>        --$:服务器上的标示符号
            <write>rm -rf ${server.build.dir}</write>

            <read>${prompt_end}</read>
        </telnet>

3、target下使用<ftp></ftp>可远程传输文件。如

    <ftp server="${server.ip}" binary="true"
          remotedir="${home.dir}/${server.build.dir}"
          userid="${server.login.name}"
          password="${server.login.pwd}" depends="false">
          <fileset dir="${before_package_path}">
             <include name="*.tar.gz"/>
          </fileset>
     </ftp>

4、target下使用<sleep seconds="5"/>可以暂停5秒。

5、target下使用<exec></exec>可以执行命令。

     <exec dir="${jar.antfile.path}" executable="${jar.antfile.path}/build.bat"></exec>

6、

分享到:
评论

相关推荐

    一个常用的ant的build.xml

    在IT行业中,Ant是一个广泛应用的构建工具,尤其在Java项目中。...对于初学者,学习阅读和编写`build.xml`是掌握Ant工具的关键。同时,它也是资深开发者进行持续集成和持续交付(CI/CD)的基础工具之一。

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

    5. **编写XML输出**:将上述信息转换为符合ANT语法的XML格式,输出到build.xml文件中。 在gen1.py运行后,生成的build.xml文件可以被ANT读取并执行,实现项目的自动化构建。使用ANT的一大优势是其可扩展性,可以...

    ant build.xml 使用实例

    在软件开发过程中,构建工具是不可或缺的一部分,它们自动化了编译、打包、测试等过程,大大提升了开发效率。...记住,实践是最好的老师,动手尝试编写和运行`build.xml`,你会发现Ant的强大和便利。

    ant打包sdk中build.xml

    为了解决这个问题,开发者需要覆盖SDK目录下的`build.xml`文件,以适应项目的实际需求或更新的构建流程。 覆盖`build.xml`通常意味着创建一个新的或修改已有的构建脚本,确保它能够与较低版本的SDK兼容。这可能涉及...

    ant的配置文件build.xml

    Ant是Apache组织开发的一款Java构建工具,它使用XML来定义...理解并熟练掌握`build.xml`的编写,对于有效地管理和自动化Java项目的构建至关重要。通过合理配置,Ant可以极大地提高开发效率,实现跨平台的构建自动化。

    ant - build.xml - summary

    描述中的链接指向了一篇博客文章,可能详细介绍了如何理解和使用`build.xml`文件,包括如何编写自己的Ant构建脚本,以及如何调试和优化构建过程。这篇文章可能涵盖了Ant的基本用法、最佳实践以及常见问题的解决方法...

    bulid.xml详解

    《Ant的build.xml详解》 Ant,作为Java领域的一个强大构建工具,它的核心在于XML格式的build.xml文件,这是整个项目构建的蓝图。...了解并熟练掌握build.xml的编写和使用,是每个Java开发者提升工作效率的重要一环。

    jenkins jmeter ant build.xml

    在“jenkins jmeter ant build.xml”这个场景中,我们可以理解为使用Jenkins进行持续集成,其中包含了一个使用Ant编写的构建脚本(build.xml),并且该脚本可能包含了JMeter的性能测试任务。以下是一个可能的流程: ...

    Ant部署WebService服务

    在压缩包子文件`AntWebService`中,可能包含了一个示例`build.xml`文件,一些源代码,以及可能的配置文件,如`pom.xml`(Maven的项目对象模型)。读者可以通过解压并研究这些文件来加深对Ant部署Web Service的理解。...

    Ant自动构建总结

    这个压缩包中包含的`build.xml`文件就是Ant的构建脚本,用于定义构建任务、依赖关系和目标。 1. **Ant基本概念**: - **项目(Project)**: Ant的核心单位,包含了构建过程中所有的任务、属性和文件集。 - **任务...

    mybatis-generator.jar以及generatorConfig.xml

    在Maven项目中,可以在pom.xml的`&lt;build&gt;&lt;plugins&gt;`部分添加MBG插件配置,然后在构建时自动执行代码生成。 总的来说,MyBatis Generator通过`mybatis-generator.jar`和`generatorConfig.xml`提供了一种高效、灵活的...

    Microsoft.Press.Inside.the.Microsoft.Build.Engine.Using.MSBuild.and.Team.Foundation.Build.Jan.2009.rar

    MSBuild是Visual Studio的核心部分,允许开发者编写构建脚本,这些脚本定义了如何编译、打包和部署项目。MSBuild使用XML格式的项目文件(.csproj, .vbproj等),其中包含了编译过程的各种指令和属性。例如,它能指定...

    bulid.xml配置详解

    《构建脚本bulid.xml配置详解》 在软件开发中,构建工具扮演着至关重要的角色,它们自动化了编译、测试、打包等繁琐任务。Ant是Apache组织开发的一款基于Java的构建工具,它以XML格式定义构建过程,使得构建过程...

    incredibuild_ndk-build.rar

    标题"Incredibuild_ndk-build.rar"涉及到的是一个与Android NDK开发相关的工具包,它包含两个关键文件:`ndk-build.cmd`和`profile.xml`。这些文件在Android原生开发过程中扮演着重要角色。 **NDK**是Android ...

    apache-cxf-2.4.2.zip

    在CXF项目中,Ant脚本可以帮助我们自动化构建流程,包括编译源代码、生成JAR或WAR文件,以及部署Web服务到应用服务器。 以下是使用Apache CXF和Ant进行Web服务开发的基本步骤: 1. **环境配置**:首先,你需要在...

    Android NDK 获取手机部分信息 build.prop

    在Android开发中,NDK(Native Development Kit)允许开发者使用C和C++编写原生代码,从而提升应用程序的性能和效率。在特定情况下,我们可能需要获取设备的一些硬件或系统信息,例如通过读取`build.prop`文件。`...

    eclipse基于ant自动化打包

    3. **创建Ant构建脚本**:在你的RCP项目中,新建一个build.xml文件,这是Ant的主构建脚本。在这个脚本中,你需要定义各种任务,如编译源码、生成JAR或插件、创建可执行的RCP应用等。 4. **配置Ant任务**:使用...

    Xdoclet生成*.hbm.xml映射文件

    3. 配置Xdoclet:创建或修改项目配置文件(如build.xml),配置Xdoclet插件,指定源代码目录、目标生成目录以及生成文件的格式。 4. 执行Xdoclet:运行Ant构建脚本,Xdoclet会自动扫描源代码,生成相应的映射文件。 ...

    Ant安装build手册—LINUX

    5. **编写构建脚本**:在 Linux 中,你可以创建一个名为 `build.sh` 的 Shell 脚本来执行构建任务。这个脚本通常会设定 `JAVA_HOME`,设置 `CLASSPATH`,然后调用 Ant 来执行特定的 `build.xml` 文件。例如: ```...

Global site tag (gtag.js) - Google Analytics