使用ant脚本读取jar文件中的版本信息

使用ant脚本读取jar文件中的版本信息

步骤1、下载并配置ant环境,下载ant-contrib-1.0b3.jar,拷贝ant-contrib-1.0b3.jar到ANT_HOME/lib下面

步骤2、编写build.xml脚本

<?xml version="1.0"?>
<project name="VersionManager" default="all" basedir=".">
<!-- Initialization variables -->
<property environment="env" />

<property name="lib.dir.home" value="${basedir}/lib"/>
<property name="unpackage.dir.home" value="${basedir}/unpackage"/>
<property name="build.dir" value="build"/>

<path id="ant.contrib.lib">
<fileset dir="${env.ANT_HOME}/lib">
<include name="**/*jar" />
</fileset>
</path>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<path refid="ant.contrib.lib" />
</classpath>
</taskdef>
<taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach">
<classpath>
<path refid="ant.contrib.lib" />
</classpath>
</taskdef>
<!-- ============================= -->
<target name="all" depends="list-jar" description="Does the whole enchilada"/>
<target name="unjar">
<unjar src="${lib.dir.home}/${jarName}" dest="${unpackage.dir.home}/${jarName}" />
</target>

<target name="echo-manifest" depends="unjar">
<loadfile property="test" srcFile="${unpackage.dir.home}/${jarName}/META-INF/MANIFEST.MF" encoding="GBK"/>
<echo message="jar file name : ${jarName}"/>
<echo file="${basedir}/versionInfo.txt" message="jar file name : ${jarName} " append="true"/>
<echo message="${test}"/>
<echo file="${basedir}/versionInfo.txt" message="${test}" append="true"/>
</target>

<!--
<target name="echo-many-manifest">
<foreach target="echo-manifest" param="jarName" list="commons-codec-1.3.jar;commons-dbcp-1.2.1.jar" delimiter=";" />
</target>
-->

<target name="list-jar">
<foreach list="" target="echo-manifest" param="jarPathName" delimiter=",">
<fileset dir="${lib.dir.home}">
<include name="**/*.jar"/>
</fileset>
</foreach>
</target>

<propertyregex property="jarName" input="${jarPathName}" regexp="lib\\(.*)" select="\1"/>

</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值