使用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>
分享到:
相关推荐
Ant的工作方式类似于Make,但它使用XML来描述构建过程,这使得构建脚本易于阅读、理解和维护。 标题“ant配置文件”指的是Ant项目中的核心文件——build.xml。这个文件是Ant构建过程的蓝图,包含了所有构建任务和...
这个jar包(xmltask.jar)提供了一种方式,使得我们可以在Ant脚本中添加、删除、修改XML元素,这对于读取和处理SVN版本信息非常有用,因为SVN的版本信息通常存储在XML格式的svn:log属性中。 要使用XMLTask,首先...
5. **XML配置**:Apache Ant通过XML文件定义构建任务,因此在Ant脚本中设置正确的编码属性至关重要。例如,可以在`<unzip>`任务中指定`encoding`属性来解决解压时的编码问题。 6. **平台兼容性**:不同的操作系统...
总结来说,Ant脚本是Java开发中的一个重要工具,它通过XML配置文件驱动构建过程,实现了编译、打包等自动化任务。通过熟练掌握Ant,开发人员可以提高工作效率,确保构建的可靠性和一致性。在学习Ant的过程中,实践是...
"jar.zip包下载"指的是用户可以从某个源下载这个压缩包,这通常是为了方便开发者在本地环境中使用Ant ZIP任务,而无需手动编译源代码。依赖包是指在运行或构建项目时,需要的其他外部库或组件,"ant-zip-1.7.1.jar...
"ant.license.txt"文件通常包含了Ant的许可协议信息,这对于开源软件的使用者来说非常重要,因为这规定了如何合法地使用和分发Ant的源代码或二进制文件。在遵循许可协议的前提下,开发者可以在自己的项目中自由地...
标题中的“ant执行sql文件”指的是使用Apache Ant工具来运行SQL脚本文件,这在Java开发中非常常见,尤其是在数据库的初始化或者自动化部署过程中。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,...
在Ant 1.6中,值得注意的是,它支持多种Java版本,并且引入了一些新的特性,如支持Ant脚本语言(Antlr),增强了文件集(fileset)和文件名集(filelist)的功能,以及改进了条件任务(condition)。此外,Ant 1.6还...
这个压缩包`apache-ant-1.8.4-bin.zip`包含了Ant的二进制版本,用户可以直接解压并使用,而无需自行编译源码。 1. **Apache Ant**:Ant是一个由Apache软件基金会开发的任务驱动的自动化构建工具。它的主要功能是...
在实际应用中,"ant-antlr-1.6.4.jar.zip"的使用流程通常是这样的:首先,开发者需要将压缩包解压,将"ant-antlr-1.6.4.jar"添加到Ant的类路径中;然后,在build.xml文件中定义一个ANTLR任务,指定输入语法文件和...
通过这个JAR文件,你可以运行Ant命令行工具,执行build.xml文件中的构建脚本。 2. **ant-launcher.jar**:这个JAR文件包含了启动Ant的基础设施。它处理命令行参数,加载构建文件,并负责启动Ant的主类。没有这个...
本文将详细讲解Ant脚本在打包部署中的要点,以及如何通过修改`common.properties`文件来设置代码分支。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建...
例如,使用Ant定义一个构建脚本,它首先调用`java-unrar-0.5.jar`来解压RAR文件,然后利用`commons-logging-1.2.jar`记录解压过程中的日志信息。这种组合方式既实现了RAR文件的解压,又保证了日志记录的便利性,同时...
总结起来,"ant-antlr-1.8.1.jar.zip"是Ant和ANTLR两个工具的结合,它提供了一种在Ant构建环境中使用ANTLR的便捷方式。开发者可以通过这个压缩包,将ANTLR集成到他们的Java项目中,进行高效的语法解析和代码生成。在...
在Ant脚本中,你可以使用`xpath`任务来提取这个信息,例如: ```xml ``` 接下来是Apktool,这是一个用于反编译和重新打包Android APK文件的工具。Apktool支持解码资源文件、反编译Smali代码(Dalvik字节码的汇编...
4. **文件集(Filesets)**:文件集允许我们指定一组文件或目录,这些可以在任务中使用,比如在编译源代码时指定源代码目录。 5. **条件(Conditions)**:条件可以用来控制构建流程,根据某些条件决定是否执行特定...
bin 目录包含 Ant 的可执行脚本,lib 目录则包含了必要的库文件。为了运行 Ant,你需要将其 bin 目录添加到系统的 PATH 环境变量中,并设置 ANT_HOME 环境变量指向 Ant 的安装路径。此外,Ant 需要一个兼容 JAXP 的 ...
在实际应用中,为了使用`antlr3-ant.jar`,开发者需要在他们的Ant构建脚本中引入这个库,然后可以利用ANTLR提供的Ant任务来生成解析器和词法分析器。例如,他们可能需要创建一个`build.xml`文件,并在其中添加类似...
总的来说,“ant-antlr-1.6.3.jar.zip”是Ant与ANTLR结合的一个实例,它提供了在Ant构建流程中使用ANTLR的能力。开发者可以通过解压并引入这个库,实现更复杂的构建任务,如自定义语言的解析和处理。而“ant.license...
标题中的"ant-1.6.5集合包"指的是包含了Ant 1.6.5版本的相关组件的压缩文件,这个集合包包括了以下几个重要的JAR文件: 1. **ant-1.6.5.jar**:这是Ant的核心库,包含了构建过程的主要功能,如读取构建文件、执行...