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

 

转载于:https://www.cnblogs.com/teamobaby/p/4220888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值