ant脚本打jar包 自动获取时间以及项目svn版本号
1.关键代码,获取时间
<tstamp>
<format property="touch.time" pattern="yyyy/MM/dd hh:mm" />
</tstamp>
2.获取本地svn版本
<target name="version" depends="init" >
<typedef resource="com/googlecode/svntask/svntask.xml">
<classpath>
<fileset dir="${lib}">
<include name="svnkit.jar"/>
<include name="svntask.jar"/>
</fileset>
</classpath>
</typedef>
<svn>
<info path="E:\worksapce2\ACService2" revisionProperty="revisionVersion" />
</svn>
<property name="version" value="${revisionVersion}" />
<echo message="version: ${version}" />
</target>
3. 项目示例
<project name="build_pub" default="jar" basedir="."> <property name="class.dir" value="WEB-INF/classes"/>
<property name="src.dir" value="src" />
<property name="build.dir" value="targetJar" />
<property name="jar.name" value="ac-api.jar" />
<property name="lib" value="WEB-INF/lib" /> <path id="classpath">
<fileset dir="${lib}" includes="**/*.jar"/>
</path> <target name="init">
<echo message="+--- init start ---+" />
<tstamp />
<delete file="${build.dir}/${jar.name}" />
<echo message="+--- init end ---+" />
</target>
<target name="version" depends="init" >
<typedef resource="com/googlecode/svntask/svntask.xml">
<classpath>
<fileset dir="${lib}">
<include name="svnkit.jar"/>
<include name="svntask.jar"/>
</fileset>
</classpath>
</typedef>
<svn>
<info path="E:\worksapce2\ACService2" revisionProperty="revisionVersion" />
</svn>
<property name="version" value="${revisionVersion}" />
<echo message="version: ${version}" />
</target>
<target name="jar" depends="version" >
<echo message="+--- jar *.class files start ---+" />
<tstamp>
<format property="touch.time" pattern="yyyy/MM/dd hh:mm" />
</tstamp>
<pathconvert property="mf.classpath" pathsep="lib/"> <path refid="classpath" /> <flattenmapper /> </pathconvert>
<jar destfile="${build.dir}/${jar.name}" update="true">
<fileset dir="${class.dir}" includes="com/inspur/api/ac/**,com/inspur/api/common/**">
</fileset>
<manifest>
<attribute name="user-name" value="liyx"/>
<attribute name="svn-version" value="${version}"/>
<attribute name="package-time" value="${touch.time}"/>
</manifest>
</jar>
<echo message="+--- jar *.class files end ---+" />
</target>
</project>
4.注意事项
注意target直接的依赖关系,另外获取本地svn号需要依赖本地jar包,分别是svntask.jar和svnkit.jar,我分享的下载地址分别为:
http://mobile.qzone.qq.com/l?g=1357&sharekey=7ab0de0e131e16e9d859dff5bc1c5ea9
http://mobile.qzone.qq.com/l?g=1357&sharekey=cdbeb37e11b4395fd3dad86edc02e197
ant脚本打jar包 自动获取时间以及项目svn版本号的更多相关文章
- 把封装脚本做成jar包
前提: eclipse, selenium, maven 把二次封装过的脚本做成jar包, 这样可以在新建工程里也调用封装过的方法. 实现步骤: 1. project 右键 => maven = ...
- Ubuntu 16.04使用“从互联网自动获取”时间无法写入硬件BIOS的奇怪问题
目前发现的就是这个问题,只能手动同步到BIOS. 如果是手动设置过时间,那么可以正常同步到BIOS. 而如果切换到从互联网自动获取时间时,是不能同步到BIOS的,但是界面上的时间确实最新的. 并且这个 ...
- [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目
(1)项目导入JAR包:1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面.2.右键点击项目,Bulid Path->Configure Build Path3.在设置Libraie ...
- 【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】
==================================================================================================== ...
- 关于IDEA的Maven打jar包springboot项目问题,打成可执行jar包,IDEA创建的maven项目和spring initializr项目
Spring Initializr创建的项目 源文件地址 https://github.com/TaoPanfeng/maven-package 项目的创建步骤 进行打包 clear package ...
- 使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴
使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴. 1.首先在本地maven位置的配置文件setting.xml(没有 ...
- 利用Ant脚本生成war包的详细步骤
使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...
- Mysql设置字段自动获取时间
问题:现在在用户表中有一个字段表示用户创建的时间 第一个想法是写一段程序获得系统当前时间,想想就太麻烦了,果断放弃,之后想到了存储过程和函数,再想想还要编写存储过程或者函数的代码,有点放弃的想法,但是 ...
- spring boot 打jar包,获取resource路径下的文件
前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...
随机推荐
- How to Calculate difference between two dates in C# z
Do you need to find the difference in number of days, hours or even minute between the two date rang ...
- IOS color 颜色值比较
/生成采样对照颜色(黑色) UIColor* sampleColor = [UIColor colorWithRed:(0/255.0f) green:(0/255.0f) blue:(0/255. ...
- 提高Web页面性能的技巧
现在动辄几兆大小的页面加载量,让性能优化成了不可避免的热门话题.WEB 应用越流畅,用户体验就会越好,继而带来更多的访问量.这也就是说,我们应该反省一下那些过度美化的 CSS3 动画和多重操作的 DO ...
- 【软件多国语言】一个demo
之前上学的时候做过一个东西,需要中英文软件界面,并且需要随时可以切换,当时是师妹来做的,用的最直接也是最笨的办法, what? if(中文) { button1.Text = "花姑娘&qu ...
- 【转】javascript-图片预加载技术
1,脚本代码: /** * 图片头数据加载就绪事件 - 更快获取图片尺寸 * @version 2011.05.27 * @author TangBin * @see http://www.plane ...
- 修改linux主机名称
linux修改主机名如下操作即可: [root@kel ~]# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAM ...
- BITED数学建模七日谈之二:怎样阅读数学模型教材
今天进入我们数学建模七日谈的第二天:怎样阅读数学建模教材? 大家再学习数学建模这门课程或准备比赛的时候,往往都是从教材开始的,教材的系统性让我们能够很快,很深入地了解前人在数学模型方面已有的研究成果, ...
- [转]Erlang不能错过的盛宴
Erlang不能错过的盛宴 (快步进入Erlang的世界) 作者:成立涛 (litaocheng@gmail.com) 作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言” ...
- Makefile中用宏定义进行条件编译
在源代码里面如果这样是定义的: #ifdef MACRONAME //可选代码 #endif 那在makefile里面 gcc -D MACRONAME=MACRODEF 或者 gcc ...
- 第二百八十九天 how can I 坚持
今天好伤啊,太把自己当回事了. 现在在弟弟这,下午和他一块看了看西客站附近的房子,感觉暂时好难,只是暂时的,一切都会好起来的. 弟弟上班也挺不容易,不该来给他添麻烦,替他心疼. 确实不知道该咋办了,好 ...