build.xml配置编译打包过程(转)
工程目录如下,使用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配置编译打包过程(转)的更多相关文章
- Android应用程序(APK)的编译打包过程
(9878) (7) 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的 ...
- Ant之build.xml配置详解【转】
原文:https://blog.csdn.net/mevicky/article/details/72828554 前言国内关于build.xml的配置资料太零散了,实在是受不了,故而将自己的笔记整理 ...
- Storm编译打包过程中遇到的一些问题及解决方法
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/30/som ...
- [转] Spring4.3.x 浅析xml配置的解析过程(6)——解析context命名空间之property-placeholder和property-override标签
在上一篇解析自定义命名空间的标签中,我们已经知道解析自定义命名空间的标签需要用到NamespaceHandler接口的实现类,并且知道spring是如何获取命名空间对应的命名空间处理器对象的.因此我们 ...
- playframework 编译打包过程失败
root@mytest:/data# play war p2p-master --exclude tmp:logs:test:eclipse -o /data/a/sp2p~ _ _ ~ _ __ | ...
- ant+jmeter中build.xml配置详解
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- Android - Ant自动编译打包android项目 -- 1(转)
1. 背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...
- Andorid进阶7—— Ant自动编译打包&发布 android项目
http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...
随机推荐
- 突然出现 -bash: pod: command not found 的解决方法
$ mkdir -p $HOME/Software/ruby $ export GEM_HOME=$HOME/Software/ruby $ gem install cocoapods [...] g ...
- jqzoom图片放大镜
jqzoom是一个图片放大器插件.它功能强大,使用简便! 引入js与css: <script type="text/javascript" src="js/jque ...
- jQuery 中 attr() 和 prop() 方法的区别
前几天,有人给 Multiple Select 插件 提了问题: setSelects doesn't work in Firefox when using jquery 1.9.0 一直都在用 jQ ...
- sp_executesql
execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如 ...
- android-eclipse-phonegap 2..9以下(包含2.9)的项目配置
1.搭建android.eclipse环境,下载phonegap 2.9包 2.新建android项目 3.拷贝phonegap-2.9.0\lib\android\cordova-2.9.0.jar ...
- RobotFrameWork http/https oauth接口测试 (二)
在RobotFrameWork http/https oauth接口测试 (一)中,大致介绍了相关的概念,终于可以步入正题了~~~ 先介绍下项目背景: 公司的项目采用的授权模式是第三种resource ...
- LNK1169: one or more multiply defined symbols found
The build failed due to multiple definitions of one or more symbols. This error is preceded by error ...
- Firefox刷新页面和复选框的奇葩问题
Firefox刷新页面后数据还在,估计很多人都碰到过. 但是有一个奇怪的地方就是复选框,如果你默认是勾选了,然后访问者取消勾选,刷新完之后,还是没有勾选,这是为什么? Firefox奇葩的地方就在于c ...
- Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables
本篇接着介绍网络相关命令:wget 文件下载工具.curl 网络数据传输工具.rsync 文件传输工具等. 本篇接着介绍网络相关命令 1.wget 文件下载工具 wget [option]... [U ...
- wex5 教程 之 图文讲解 bind-css和bind-sytle的异同
wex5作为网页开发利器,在前台UI数据交互设计中大量使用了绑定技术,即官方视频教学中也提到了KO,实质是数据绑定与追踪.在前台组件的属性中,为我们提供了两个重要的样式绑定属性,bind-css和bi ...