Ant的使用(一)
<?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的使用(一)的更多相关文章
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- React中使用Ant Table组件
一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...
- [Ant]Ant简易教程
前言 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. Ant是纯Java语言编写的,所以具有 ...
- jenkins / ant / jmeter 持续集成接口自动化
1. 将 jmeter 脚本放在/var/lib/jenkins/workspace/Jmeter_auto/jmxpath路径下 2. 点击http://jk.facebank.net.cn/job ...
- Maven与Ant比较
Maven与Ant比较 0 « 上一篇:Jenkins学习三:介绍一些Jenkins的常用功能» 下一篇:Jenkins学习四:Jenkins 邮件配置 posted @ 2015-03-25 16: ...
- 一.Jmeter+Ant+Jenkins搭建持续集成接口性能自动化测试
微创新作品信息 1)微创新作品描述 A.为什么诞生: 1. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, ...
- Eclipce结合Ant进行编译、打包、传输、运行
注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...
- ant 使用指南
一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...
- 在Eclipse中集成Ant配置
提要:本文将向你展示如何使用Eclipse设置为Ant所用的属性值和环境变量,并简要分析如何配置Ant编辑器以便从Eclipse内部操作Ant文件. 一. 修改Ant Classpath 在使用一个可 ...
- windows+ant+git+tomcat中ant直接获取git项目部署注意点
最近项目搬迁到公司的"GitHub"上面原来的SVN的ant发布脚本要改下,于是百度ant获取git的方法太少了,windows平台上更是没有所以搞了两天,今天终于有点成果分享给大 ...
随机推荐
- java集合(5)-List集合
序章 List集合是一个元素有序且可以重复的集合,每个元素对应一个索引,类似于数组的方式,默认是按照添加顺序,所以第一次添加元素索引为0,第二次为1.... 一 Java8改进的List接口和List ...
- sql-1-准备
一.准备工作 1.mysql安装和配环境 不要以exe文件安装,要下载压缩包安装 下载地址:https://dev.mysql.com/downloads/mysql 在系统path中加上bin目录 ...
- Tbase读写分离与分库分表
一.读写分离 1.1 what 读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从数据库处理SELECT查询操作.数据库复制被用来把事 ...
- 大数据学习(17)—— HBase表设计
为啥要把表设计拿出来独立成章?因为我觉得像我这样搞了很多年Java后端开发的技术人员,在学习HBase的时候,会受到关系型数据库3NF.BCNF的影响.事实上,数据库范式在HBase里完全没用,必须转 ...
- 移动APP我们需要关注什么
移动APP关注的点比web或者PC上的程序更多 1.测试用例的设计 移动互联网的快节奏,要放弃传统的测试用例编写方式,不需要写详细的测试用例,采用罗列测试点的方式如思维导图,这样既节省时间又能够直观清 ...
- 靶机BlackMarket
工具:nmap.dirbuster.dirb.sqlmap.cewl.crunch.hydra 涉及的漏洞:弱口令 垂直越权 SQL注入 CVE-2016-5195脏牛提权(内核竞争提权漏洞) fla ...
- 腾讯开源:Kotlin 高性能特效动画组件!
先看一下效果展示: 1. VAP VAP(Video Animation Player)是企鹅电竞开发,用于播放酷炫动画的实现方案. 相比Webp, Apng动图方案,具有高压缩率(素材更小).硬件解 ...
- 我一个五年Android开发,居然被一个技术不如我的面试官嫌弃了......
背景 首先介绍一下自己的情况.目前所在的是一家小的创业公司,待了5年多,薪资一般吧.由于这几年公司也在转型.工作经历大概可以分为 3 个阶段. 第一阶段是从进公司开始做 android app 开发, ...
- 十六进制转十进制 BASIC-12
十六进制转十进制 代码 import java.math.BigInteger; import java.util.Scanner; /* * 从键盘输入一个不超过8位的正的十六进制数字符串, * 将 ...
- Note about Cobertura
Workflow of Unit Test without Cobertura compile source code; compile test code; run unit test; Workf ...