ant配置详细说明

    在java开发代码中,整理版本有多种方法,下面要介绍的是使用ant从指定目录抽取版本包和利用ant抽取从svn上直接抽取版本包文件

    1.首先安装ant工具,类似于JDK的安装,ant也需要设置ANT_HOME环境变量和PATH环境变量。这里就不细说了

     2.编辑build.xml文件,也是版本控制最重要的一部分。以下给出我的一个实例

<?xml version="1.0" encoding="UTF-8"?>

<!-- default 表示默认的运行目标,此属性必须;basedir表示项目的基准目录。此处是当前目录,name表示项目名-->

<project default="SmartESB" name="SmartESB" basedir=".">

    <description>SmartESB</description>

    <!--property 都是设置一些变量的值-->

    <property name="src" location="src" />

    <property name="console" location="console" />

    <property name="console_addtion" location="console_addtion" />

    <property name="dest" location="buildAP1" />

    <property name="esbdest" location="${dest}/SmartESB" />

    <property name="build.classes.dir" location="${esbdest}/classes" />

    <property name="build.classes.console" location="${esbdest}/classes_console" />

 

    <property name="web.lib.dir" location="lib" />

    <property file="build.properties" />

    <!-- 设置path路径,lib下所有的jar文件-->

    <path id="classpath">

        <fileset dir="${web.lib.dir}">

            <include name="*.jar" />

        </fileset>

    </path>

    <!-- 删除buildAP1 先删除目标文件夹,保证能重复生成版本包-->

    <target name="clean">

        <delete dir="${dest}" />

    </target>

    <!-- 创建class目录和console目录 depends决定依赖关系,表示在depends后执行-->

    <target name="init" depends="clean">

        <tstamp />

        <mkdir dir="${build.classes.dir}" />

        <mkdir dir="${build.classes.console}" />

    </target>

    <!-- 复制bin、lib、middleware文件夹中的内容到SmartESB文件夹,exclude 目录排除在外-->

    <target name="copy" depends="init">

        <copy todir="${esbdest}">

            <fileset dir="${basedir}">

                <include name="bin/" />

                <include name="lib/" />

                <include name="middleware/" />

                <exclude name="middleware/tomcat/webapps/esbconsole/WEB-INF/classes/" />

            </fileset>

        </copy>

    </target>

    <!-- 编译src文件夹中的代码,class文件生成到classes目录-->

    <target name="compile_source" depends="copy">

        <echo>运行平台源代码构建</echo>

        <javac destdir="${build.classes.dir}" encoding="utf-8" debug="on" includeAntRuntime="false">

            <src path="${src}" />

            <classpath refid="classpath" />

        </javac>

    </target>

    <!--编译console目录中java文件成class文件 -->

    <target name="compile_console" depends="compile_source">

        <echo>console平台源代码构建</echo>

<javac destdir="${build.classes.console}" encoding="utf-8" debug="on" fork="false" nowarn="on" debuglevel="lines,vars,source">

            <src path="${src}" />

            <src path="${console_addtion}" />

            <src path="${console}" />

            <classpath refid="classpath" />

        </javac>

        <!--把console文件夹内容复制到console的class目录 -->

        <copy todir="${build.classes.console}">

            <fileset dir="${basedir}/console">

                <include name="esb/" />

                <include name="esbconsole/" />

                <include name="META-INF/" />

            </fileset>

        </copy>

<jar destfile="${esbdest}/middleware/tomcat/webapps/esbconsole/WEB-INF/lib/esb_all.jar" update="true" basedir="${build.classes.console}" />

        <copy todir="${esbdest}/middleware/tomcat/webapps/esbconsole/WEB-INF/lib/" overwrite="true">

            <fileset dir="${basedir}/lib">

                <include name="BC_14_122.jar" />

                <include name="commons-net-3.3.jar" />

                <include name="esb_flow.jar" />

                <include name="srcb-security.jar" />

            </fileset>

        </copy>

        <delete dir="${build.classes.console}" />

    </target>

    <target name="SmartESB_AP1" depends="compile_console" description="building SmartESB project">

        <copy todir="${esbdest}" overwrite="true" encoding="UTF-8" outputencoding="UTF-8">

            <fileset dir="${basedir}">

                <include name="configs/" />

                <include name="middleware/tomcat/webapps/esbconsole/WEB-INF/classes/" />

            </fileset>

            <filterset>

                <filtersfile file="AP1.properties" />

            </filterset>

        </copy>

        <!-- zip压缩SmartESB文件夹成SmartESB_AP1.zip 并删除SmartESB文件夹-->

        <echo>building SmartESB project</echo>

        <zip destfile="${dest}/SmartESB_AP1.zip" basedir="${dest}/">

            <include name="SmartESB/" />

        </zip>

        <delete dir="${esbdest}" />

    </target>

</project>

     3.执行build.xml文件,执行方法可以在cmd运行窗口执行   "ant -f build.xml" 或者新建bat脚本,脚本内容为   

pause

echo on

@set JAVA_HOME=C:\Users\zhongwei\AppData\Local\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013

call ant -f build.xml

pause

直接双击执行bat文件,也能抽取版本包。

注意:如果要从SVN上取文件,则需要指定对应的版本号和SVN的用户和密码

 配置如下:

 <target name="export"> 
    <echo>Start export patchs from svn to ${export.dir}......</echo>  

     <!--username 为SVN的用户名,password为密码 revision为提交SVN的版本号,其他没什么区别-->
    <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
      <export srcUrl="${repo.url}/SmartESB/src/com/dc/esb/container/service/ServiceIdentifyService.java"     destPath="${export.dir}/SmartESB/src/com/dc/esb/container/service/ServiceIdentifyService.java" revision="309"/>
    </svn>  
    <echo>Export finished</echo>  
    <copy todir="${export.dir}/SmartESB/" file="${basedir}/build_ZL.xml"/>
  </target> 

以上就是ant配置的一些说明。

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值