工程目录如下,使用eclipse中的ant对此工程进行编译打包:

MonServer

| --------src

|            |--------com

|            |--------log4j.properties

|

| --------config

| --------lib

| --------log

| --------sh

| --------startMon.sh

[xhtml] view plaincopyprint?<?xml version="1.0"?>  
<project name="MonServer" default="all" basedir=".">  
    <!-- source code dir-->  
    <property name="src.dir" value="src">  
    </property>  
    <property name="config.dir" value="config">  
    </property>  
    <property name="lib.dir" value="lib">  
    </property>  
    <property name="log.dir" value="log">  
    </property>  
    <property name="sh.dir" value="sh">  
    </property>  
  
    <!-- 需要引入第3方jar包才能编译通过java文件并生成class文件,并且在target compile中应用classpath -->  
    <path id="classpath">  
        <fileset dir="${lib.dir}">  
            <include name="**/*.jar" />  
        </fileset>  
    </path>  
    <!-- build dir-->  
    <property name="build.dir" value="build">  
    </property>  
    <property name="build.classes" value="${build.dir}/classes">  
    </property>  
    <property name="build.config" value="${build.dir}/config">  
    </property>  
    <property name="build.lib" value="${build.dir}/lib">  
    </property>  
    <property name="build.log" value="${build.dir}/log">  
    </property>  
    <property name="build.sh" value="${build.dir}/sh">  
    </property>  
  
    <!-- remove all generated files -->  
    <target name="clean" description="remove all generated files">  
        <delete dir="${build.dir}">  
        </delete>  
    </target>  
  
    <!-- create the build dir, and copy [config,lib,sh] dir files-->  
    <target name="prepare">  
        <mkdir dir="${build.dir}" />  
        <mkdir dir="${build.classes}" />  
        <mkdir dir="${build.config}" />  
        <mkdir dir="${build.lib}" />  
        <mkdir dir="${build.log}" />  
        <mkdir dir="${build.sh}" />  
  
        <copy todir="${build.config}">  
            <fileset dir="${config.dir}" includes="*.*">  
            </fileset>  
        </copy>  
  
        <copy todir="${build.lib}">  
            <fileset dir="${lib.dir}" includes="*.jar">  
            </fileset>  
        </copy>  
        <copy todir="${build.sh}">  
            <fileset dir="${sh.dir}" includes="*.sh">  
            </fileset>  
        </copy>  
        <!-- 复制工程根目录下的文件到build目录下,如:startMon.sh-->  
        <copy todir="${build.dir}">  
            <fileset dir="." includes="*.sh">  
            </fileset>  
        </copy>  
    </target>  
  
    <!--compile java files, and copy other properties files -->  
    <target name="compile" depends="prepare" description="compile all source code">  
        <javac srcdir="${src.dir}" destdir="${build.classes}">  
            <classpath refid="classpath">  
            </classpath>  
            <compilerarg line="-encoding gbk" />  
        </javac>  
  
        <copy todir="${build.classes}">  
            <fileset dir="${src.dir}" includes="*.properties">  
            </fileset>  
        </copy>  
        <!--打包-->  
        <zip destfile="MonServer.zip" basedir="${build.dir}">  
        </zip>  
    </target>  
    <!-- 先编译打包,再删除目录-->  
    <target name="all" depends="compile,clean" description="clean,compile">  
    </target>  
</project>  
<?xml version="1.0"?> 
<project name="MonServer" default="all" basedir="."> 
<!-- source code dir--> 
<property name="src.dir" value="src"> 
</property> 
<property name="config.dir" value="config"> 
</property> 
<property name="lib.dir" value="lib"> 
</property> 
<property name="log.dir" value="log"> 
</property> 
<property name="sh.dir" value="sh"> 
</property>

<!-- 需要引入第3方jar包才能编译通过java文件并生成class文件,并且在target compile中应用classpath --> 
<path id="classpath"> 
<fileset dir="${lib.dir}"> 
<include name="**/*.jar" /> 
</fileset> 
</path> 
<!-- build dir--> 
<property name="build.dir" value="build"> 
</property> 
<property name="build.classes" value="${build.dir}/classes"> 
</property> 
<property name="build.config" value="${build.dir}/config"> 
</property> 
<property name="build.lib" value="${build.dir}/lib"> 
</property> 
<property name="build.log" value="${build.dir}/log"> 
</property> 
<property name="build.sh" value="${build.dir}/sh"> 
</property>

<!-- remove all generated files --> 
<target name="clean" description="remove all generated files"> 
<delete dir="${build.dir}"> 
</delete> 
</target>

<!-- create the build dir, and copy [config,lib,sh] dir files--> 
<target name="prepare"> 
<mkdir dir="${build.dir}" /> 
<mkdir dir="${build.classes}" /> 
<mkdir dir="${build.config}" /> 
<mkdir dir="${build.lib}" /> 
<mkdir dir="${build.log}" /> 
<mkdir dir="${build.sh}" />

<copy todir="${build.config}"> 
<fileset dir="${config.dir}" includes="*.*"> 
</fileset> 
</copy>

<copy todir="${build.lib}"> 
<fileset dir="${lib.dir}" includes="*.jar"> 
</fileset> 
</copy> 
<copy todir="${build.sh}"> 
<fileset dir="${sh.dir}" includes="*.sh"> 
</fileset> 
</copy> 
<!-- 复制工程根目录下的文件到build目录下,如:startMon.sh--> 
<copy todir="${build.dir}"> 
<fileset dir="." includes="*.sh"> 
</fileset> 
</copy> 
</target>

<!--compile java files, and copy other properties files --> 
<target name="compile" depends="prepare" description="compile all source code"> 
<javac srcdir="${src.dir}" destdir="${build.classes}"> 
<classpath refid="classpath"> 
</classpath> 
<compilerarg line="-encoding gbk" /> 
</javac>

<copy todir="${build.classes}"> 
<fileset dir="${src.dir}" includes="*.properties"> 
</fileset> 
</copy> 
<!--打包--> 
<zip destfile="MonServer.zip" basedir="${build.dir}"> 
</zip> 
</target> 
<!-- 先编译打包,再删除目录--> 
<target name="all" depends="compile,clean" description="clean,compile"> 
</target> 
</project>

转自 http://zhaiyue-program.iteye.com/blog/1731714

build.xml配置编译打包过程(转)的更多相关文章

  1. Android应用程序(APK)的编译打包过程

    (9878) (7) 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的 ...

  2. Ant之build.xml配置详解【转】

    原文:https://blog.csdn.net/mevicky/article/details/72828554 前言国内关于build.xml的配置资料太零散了,实在是受不了,故而将自己的笔记整理 ...

  3. Storm编译打包过程中遇到的一些问题及解决方法

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/30/som ...

  4. [转] Spring4.3.x 浅析xml配置的解析过程(6)——解析context命名空间之property-placeholder和property-override标签

    在上一篇解析自定义命名空间的标签中,我们已经知道解析自定义命名空间的标签需要用到NamespaceHandler接口的实现类,并且知道spring是如何获取命名空间对应的命名空间处理器对象的.因此我们 ...

  5. playframework 编译打包过程失败

    root@mytest:/data# play war p2p-master --exclude tmp:logs:test:eclipse -o /data/a/sp2p~ _ _ ~ _ __ | ...

  6. ant+jmeter中build.xml配置详解

  7. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  8. Android - Ant自动编译打包android项目 -- 1(转)

    1.  背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...

  9. Andorid进阶7—— Ant自动编译打包&发布 android项目

    http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...

随机推荐

  1. C输入输出函数与缓冲区

    #转 对C语言输入输出流和缓冲区的深入理解C语言缓冲区(缓存)详解缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的 ...

  2. ios开发xcode中设置代码块

    在开发中有很多重复的代码,很多开发者把常用的代码做成代码块提高开发效率. 在xcode里选中代码块的时候总是很不容易,点击选中的代码(文字),不要移动和松开鼠标左键,当竖线变成像拉长了的x(我也不知道 ...

  3. Linux下查看系统版本号信息的方法(转)

    一.查看Linux内核版本命令: 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux version 2.6.18-194.8 ...

  4. javascript unit testing

    http://www.cnblogs.com/Answer1215/p/4230083.html Good http://developer.51cto.com/art/201506/479127.h ...

  5. 初试FitNesse

    1.下载fitnesse-standalone.jar 2.在cmd中输入,开启fitnesse server 3.在浏览器中输入: 4.编写代码: package fitnesse.slim.tes ...

  6. android webview 底层实现的逻辑

    其实在不同版本上,webview底层是有所不同的. 先提供个地址给大家查:http://grepcode.com/file/repository.grepcode.com/java/ext/com.g ...

  7. Gulp入门教程(转载)

    本人转载自: Gulp入门教程

  8. 从出租车司机到大BOSS的转型之路

    来深圳之前,曾有人这样告诉我:在深圳千万不能以貌取人,打扮不起眼,也许他转身开的座驾就是宝马.奔驰;不管一个人多么邋遢俗气,也别瞧不起人家,也许他的手提袋里就是成捆的人民币现金;不管一个人打扮的多么土 ...

  9. -Xmx 和 –Xms 设置最大堆和最小堆

    C:\Java\jre1.6.0\bin\javaw.exe 按照上面所说的,最后参数在eclipse.ini中可以写成这个样子: -vmargs     -Xms128M     -Xmx512M ...

  10. 移动前端中viewport(视口) 转

    移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域.其中涉及几个重要概念是 dpi ( device-independent pixel 设备逻辑像素 )和 CSS 像素之间 ...