`
carel
  • 浏览: 2264 次
  • 性别: Icon_minigender_2
  • 来自: 兰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ant 打包总结

ant 
阅读更多

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

<project basedir="." default="appbuild" name="MyApp">

<property file="build.properties" />

 

<!--编译classpath设置 -->

<path id="build.classpath">

<fileset dir="WebRoot/WEB-INF/lib">

<include name="**/*.jar" />

</fileset>

<pathelement path="${webapp.build.classesdir}" />

</path>

 

<!-- 以下代码为自动打包 -->

<target name="appbuild" depends="ant">

<echo message="生成产品安装包..." />

<!--放入运行包-->

<copy file="${webapp.output}/${webapp.version}.tar.gz" todir="${webapp.output}" failonerror="true" />

</target>

 

<!-- 清除文件夹 编译build、output安装包-->

<target name="clean">

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

<delete dir="${webapp.output}" />

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

<mkdir dir="${webapp.output}" />

</target>

 

<!-- jetty解包-->

<target name="untarjetty">

<gunzip src="${webapp.jetty}.gz" dest="${webapp.output}" />

<untar src="${webapp.output}/MyApp.tar" dest="${webapp.output}/install" overwrite="true" />

<delete file="${webapp.output}/MyApp.tar">

</delete>

</target>

 

<!-- java源码编译-->

<target name="compile">

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

 

<javac debug="on" deprecation="yes" destdir="${webapp.build.classesdir}"  includes="**" optimize="on" srcdir="src">

<classpath refid="build.classpath" />

<compilerarg line="-encoding UTF-8 " />

</javac>

</target>

 

<!-- 编译打包-->

<target name="webbuild" depends="clean,untarjetty,compile">

<copy todir="${webapp.output}/install/db_script">

<fileset dir="${webapp}/db_script/"></fileset>

</copy>

 

<mkdir dir="${webapp.output.webctx}" />

<touch file="${webapp.output.webctx}/${webapp.version}.version"/>

<!-- 拷贝原工程下的webroot到待打包的目录-->

<copy todir="${webapp.output.webctx}">

<fileset dir="${webapp.src.WebRoot}/">

</fileset>

</copy>

 

<!-- 拷贝源码编译后的相关class和resource配置文件到待打包的目录-->

<copy todir="${webapp.output.webctx}/WEB-INF/classes/">

<fileset dir="${webapp.build.classesdir}">

<exclude name="**/*.src" />

</fileset>

 

<fileset dir="${webapp}/conf">

<include name="**/*.properties" />

<include name="**/*.xml" />

<include name="**/*.txt" />

</fileset>

</copy>

 

<!-- jar拷贝-->

<copy todir="${webapp.output.webctx}/WEB-INF/lib">

<fileset dir="${webapp.lib}" />

</copy>

 

<!-- 源码conf配置文件拷贝到打包的jetty目录-->

<delete dir="${webapp.output}/conf">

</delete>

<copy todir="${webapp.output}/install/MyApp-jetty/MyApp/conf" overwrite="true">

<fileset dir="${webapp}/MyApp/conf">

<exclude name="**/*.svn" />

</fileset>

</copy>

</target>

 

<!-- 配置文件xml拷贝-->

<target name="ant" depends="webbuild">

<!--生成WAR包-->

<zip destfile="${webapp.output}/MyApp.war" basedir="${webapp.output.webctx}" encoding="UTF-8" />

 

<delete dir="${webapp.output.webctx}/WEB-INF/lib/WEB-INF" />

<tar destfile="${webapp.output}/${webapp.version}.tar">

<tarfileset dir="${webapp.output}/install" preserveLeadingSlashes="true">

</tarfileset>

</tar>

<gzip destfile="${webapp.output}/${webapp.version}.tar.gz" src="${webapp.output}/${webapp.version}.tar" />

<delete file="${webapp.output}/${webapp.version}.tar" />

<delete dir="${webapp.output}/install" />

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

</target>

</project>

 

build.properties:

 

appname=myApp

###########################################################

#fuc global variables

###########################################################

webapp=${basedir}

webapp.version=DEPGM_V100R001B03

webapp.main=${webapp}/src/

webapp.java=${webapp.main}

webapp.test=${webapp}/test/

webapp.src.confpath=${webapp}/conf

webapp.src.WebRoot=${webapp}/WebRoot

webapp.build=${webapp}/build

webapp.script=${webapp}/tools/deploy_script

webapp.table=${webapp}/tools/configureTable

webapp.build.classesdir=${webapp.build}/classes

webapp.build.test.classesdir=${webapp.build}/test/classes

webapp.jetty=${basedir}/tools/myApp.tar

webapp.lib=${webapp.src.WebRoot}/WEB-INF/lib

 

webapp.output=${webapp}/output

webapp.output.software=${webapp.output}/software

webapp.output.webctx=${webapp.output}/install/myApp-jetty/webapps/myApp

app.tools=${basedir}/tools

 

compile.debug=true

compile.optimize=true

compile.encoding=UTF-8

compile.deprecation=false

分享到:
评论

相关推荐

    关于Ant多渠道批量打包总结

    NULL 博文链接:https://xiaoming123123.iteye.com/blog/1856154

    JAVA_Ant详细介绍与应用

    包含文档和项目实例。 用Ant实现Java项目的自动构建和部署。 JAVA_Ant详细介绍与应用。 Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等...4.使用Ant的war任务打包J2EE Web项目 五.总结

    (总结版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传).docx

    (总结版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传).docx

    (总结完整版)Ant从SVNCVS下载编译打包部署到本地远程服务器(FTP上传).pdf

    (总结完整版)Ant从SVNCVS下载编译打包部署到本地远程服务器(FTP上传).pdf

    ant1.9资源

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:...

    使用ant将SVN版本信息打包进jar包

    近几天在做一个小项目,需要使用ant编译并能够将SVN版本信息打包进所编译出的jar包,为此查了很多资料,总结如下: 1.运行环境需要安装ant并配置好环境变量(此点很重要,Eclipse自带的ant某些功能会受限报错) 2....

    ant build.xml

    经过几天学习,总结出ant build.xml的基本版,实现了: &lt;!--初始化操作--&gt; &lt;!--拷贝操作--&gt; &lt;!--编译--&gt; &lt;!--war打包--&gt; 执行顺序为: &lt;!--project的default属性为build,所以本target...

    (总结完整版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传)

    NULL 博文链接:https://kai1379.iteye.com/blog/1156702

    Maven权威指南 很精典的学习教程,比ANT更好用

    总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或...

    iuhyiuhkjh908u0980

    用Ant 来编译打包您的Anroid应用 ... 通过 activityCreator.py --out myproject your.package.name.ActivityName 命令可以生成一个project ,生成project下面有个bulid.xml 文件,那个东西就可以帮你打包生成了。 来...

    IDEA及Gradle使用总结

    目前Android开发的主流开发工具是Eclipse和IDEA目前主流的自动化打包工具时ant,maven,gradle。maven工具中有自己的依赖仓库维护,很多开源支持包在上面都有维护(国内的除外)gradle是近年来发展起来自动化构建...

    深入理解软件构造系统(Software Build Systems)

    本书作者作为一名软件构造系统专家,总结了自己在构造系统开发和维护方面的多年经验,对软件构造系统的原理进行了深入浅出的剖析,并通过各种实际使用场景,对几种最流行的构造工具进行了对比分析,另外还讨论了构造...

    Maven3实战笔记04Maven的生命周期和插件

    Maven的生命周期其实是指它对所有的构建过程进行了反复的推敲、反思,之后总结了一套高度抽象过程。这个过程是高度完善的、容易扩展的。基本上包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、...

    java文集

    DFS文件读写 网络爬虫之Spider Java正则表达式的总结关键词: Java正则表达式 批量上传--采集 (多个文件夹) The Agile Way hibernate mapping文件中的标记详解:关系标记 ANT 安装使用及...

    前端开发简历模板-eb前端开发-3年-上海.docx

    + 使用 Ant-design-mobile 实现下拉刷新、无限滚动等功能 * 金牛理财网(移动端),2017.03-2017.07 + 负责使用 React 进行基金组件的开发 + 负责使用 Redux 进行状态管理,实现交互效果 总结 该简历模板展示了...

    Background-management-system-architecture:后台管理系统架构(react和vue)个人总结及基础代码

    本项目集合vue + vuex + vue-router + element-ui,react + react-router-dom + redux + antd-design(分别用比较火的两个脚手架create-react-app和Ant蚁金服的react轻量级框架dva)着重想介绍后台管理系统中的权限...

    Spring-Reference_zh_CN(Spring中文参考手册)

    Ant风格的pattern 4.7.2.2. classpath*: 前缀 4.7.2.3. 其他关于通配符的说明 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 ...

    Java学习笔记-个人整理的

    {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...

Global site tag (gtag.js) - Google Analytics