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

<project name="projectName" default="zip" basedir=".">

<target name="setvar"> 变量的设定

<property name="build" value="build"/>

<property name="buildClass" value="${build}/classes"/>

<property name="buildDist" value="${build}/dist"/>

<property name="buildDistLib" value="${buildDist}/lib"/>

<property name="module" value="testModule"/>

<property name="lib" value="lib"/>

<property name="lastvalidatetime" value="lastvalidatetime"/>

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

<path id="my-class-path"> //设置path变量

<fileset dir="${lib}" includes="*.jar"/>

</path>

<tstamp> //设置运行的时间戳变量

<format property="today" pattern="MM/dd/yyyy hh:mm aa" locale="en"/>

<format property="time" pattern="yyyyMMdd_HHmmss" locale="en"/>

<format property="date" pattern="yyyyMMdd" locale="en"/>

</tstamp>

<property name="timestamp" value="${time}"/>

<property file="build.properties"/>//引入property文件,之后可以用里面的key获取value,如:build.version=4.0

<property name="build.name" value="${module}_v${build.version}_${date}"/>

<property name="versionPath" value="/version"/>

</target>

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

<delete dir="${build}"/>//删除build文件夹

<mkdir dir="${build}"/>//创建 build文件夹

<mkdir dir="${buildClass}"/>//创建build/classes文件夹

<mkdir dir="${buildDist}"/>//创建build/dist文件夹

<mkdir dir="${buildDistLib}"/>创建build/dist/lib文件夹

</target>

<target name="compile-classes" depends="clean"> //编译,依赖clean

    //http://ant.apache.org/manual/Tasks/javac.html

    //必须要有srcdir,除非有内嵌的<src>

<javac debug="on" deprecation="on" includeantruntime="false" source="1.6" target="1.6" destdir="${buildClass}"> //编译到build/classes

<classpath>//The classpath to use.需要依赖哪些包时

<path refid="my-class-path"/>

</classpath>

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

</javac>

</target>

<target name="jar" depends="compile-classes">//打包jar

<jar jarfile="${build}/${module}.jar" basedir="${buildClass}"> //将编译出build/classes的class打包为build\testModule.jar

<manifest/>

</jar>

</target>

<target name="work" depends="jar">

<copy todir="${buildDistLib}">//复制文件到build/dist/lib

<fileset dir="${lib}" includes="*.jar"/> //复制文件${lib}下所有jar文件到${buildDistLib}

<fileset dir="${build}" includes="${module}.jar"/> //复制文件${build}下testModule.jar文件到${buildDistLib}

</copy>

<copy todir="${buildDist}">

<fileset dir="./" includes="*.bat,lastsynctime/*,deviceType/*,"/>//复制当前目录去.bat...到${buildDist}

</copy>

<copy todir="${buildDist}/config.default">//复制config目录去${buildDist}/config.default目录

<fileset dir="config" includes="**"/>

</copy>

<copy todir="${buildDist}" file="README.md" />

<copy todir="${buildDist}" file="init.sql" />

<copy todir="${buildDist}" file="curlTool.rar" />

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

<delete file="${build}/${module}.jar"/>

<property name="versionFolder" value="${buildDist}/${versionPath}"/>

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

<mkdir dir="${versionFolder}"/>//创建${buildDist}/${versionPath}文件夹

<property name="fileName" value="${versionFolder}/${build.name}.txt"/>

<echo message="** Build Information ** ${line.separator}" file="${fileName}"/> //将显示信息输入到文件${fileName}换行

<echo message="Version: ${build.version}${line.separator}" file="${fileName}" append="true"/>//将显示信息输入追加到文件${fileName}换行

<echo message="Build Time: ${timestamp}${line.separator}" file="${fileName}" append="true"/>

<echo message="Java Version: ${java.runtime.version}${line.separator}" file="${fileName}" append="true"/>

<!-- MD5 info-->

<echo message="--- md5 info ---${line.separator}" file="${fileName}" append="true"/>

<checksum file="${buildDist}/${lib}/test1.jar" property="test1MD5"/> //check MD5 test1.jar 到test1MD5

<echo message="test1.jar:${test1MD5}${line.separator}" file="${fileName}" append="true"/>

<checksum file="${buildDist}/${lib}/${module}.jar" property="test2MD5"/>

<echo message="${module}.jar:${test2MD5}${line.separator}" file="${fileName}" append="true"/>

</target>

<target name="zip" depends="work">

<zip destfile="${build}/${module}.zip" basedir="${buildDist}"/> //将${buildDist}打包为${build}/${module}.zip

</target>

</project>

Ant的使用(一)的更多相关文章

  1. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  2. React中使用Ant Table组件

    一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...

  3. [Ant]Ant简易教程

    前言 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. Ant是纯Java语言编写的,所以具有 ...

  4. jenkins / ant / jmeter 持续集成接口自动化

    1. 将 jmeter 脚本放在/var/lib/jenkins/workspace/Jmeter_auto/jmxpath路径下 2. 点击http://jk.facebank.net.cn/job ...

  5. Maven与Ant比较

    Maven与Ant比较 0 « 上一篇:Jenkins学习三:介绍一些Jenkins的常用功能» 下一篇:Jenkins学习四:Jenkins 邮件配置 posted @ 2015-03-25 16: ...

  6. 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试

    微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...

  7. Eclipce结合Ant进行编译、打包、传输、运行

    注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...

  8. ant 使用指南

    一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...

  9. 在Eclipse中集成Ant配置

    提要:本文将向你展示如何使用Eclipse设置为Ant所用的属性值和环境变量,并简要分析如何配置Ant编辑器以便从Eclipse内部操作Ant文件. 一. 修改Ant Classpath 在使用一个可 ...

  10. windows+ant+git+tomcat中ant直接获取git项目部署注意点

    最近项目搬迁到公司的"GitHub"上面原来的SVN的ant发布脚本要改下,于是百度ant获取git的方法太少了,windows平台上更是没有所以搞了两天,今天终于有点成果分享给大 ...

随机推荐

  1. [刘阳Java]_MySQL数据优化总结_查询备忘录

    数据库优化是在后端开发中必备技能,今天写一篇MySQL数据优化的总结,供大家看看 一.MySQL数据库优化分类 我们通过一个图片形式来看看数据优化一些策略问题 不难看出,优化有两条路可以选择:硬件与技 ...

  2. 使用vue-preview报错Cannot read property 'open' of undefined

    最近在做一个vue项目中时,需要使用vue-preview插件制作缩略图,首先在终端使用npm i vue-preview -S指令安装了vue-preview插件,然后在main.js中,导入并引用 ...

  3. 查看JVM默认参数及微调JVM启动参数

    目录 查看某个JVM进程堆内存信息 微调JVM启动参数 查看JVM的一些默认参数 参考廖雪峰老师的这篇 JVM调优的正确姿势: https://www.liaoxuefeng.com/article/ ...

  4. vue组件之间通信总结(超详细)

    组件通信在我们平时开发过程中,特别是在vue和在react中,有着举足轻重的地位.本篇将总结在vue中,组件之间通信的几种方式: props.$emit $parent.$children $attr ...

  5. JAVA web环境搭建(使用Tomcat8整合httpd)

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Tomcat并整合httpd的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查 ...

  6. C++第三十九篇 -- 研究一下Windows驱动开发(二)-- 驱动程序中重要的数据结构

    数据结构是计算机程序的核心,I/O管理器定义了一些数据结构,这些数据结构是编写驱动程序时所必须掌握的.驱动程序经常要创建和维护这些数据结构的实例. 一.驱动对象(DRIVER_OBJECT) 每个驱动 ...

  7. Mysql用户、权限、密码管理

    一.用户管理 默认:用户root 创建用户: use mysql; create user 'alex'@'192.168.193.200' identified by '123456'; 创建了al ...

  8. DNS的原理和解析过程

    DNS的解析原理和过程: 在Internet上域名和IP是对应的,DNS解析有两种:一种是正向解析,另外一种是反向解析. 正向解析:正向解析就是将域名转换成对应的 IP地址的过程,它应用于在浏览器地址 ...

  9. 深入刨析tomcat 之---第4篇 tomcat4.0连接池 实现原理

    writedby 张艳涛

  10. sql注入之堆叠注入及waf绕过注入

    #堆叠查询注入 1.堆叠查询概念 stacked injections(堆叠查询注入)从名词的含义就可以看出一应该是一堆(多条)sql语句一起执行.而在真实运用中也是如此,我们知道在mysql中,主要 ...