`
blue2031
  • 浏览: 56046 次
  • 来自: ...
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
 
阅读更多
使用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}&#xD;&#xA;" 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配置文件

    Ant的工作方式类似于Make,但它使用XML来描述构建过程,这使得构建脚本易于阅读、理解和维护。 标题“ant配置文件”指的是Ant项目中的核心文件——build.xml。这个文件是Ant构建过程的蓝图,包含了所有构建任务和...

    ant获取SVN版本信息的jar包xmltask以及安装,使用方法

    这个jar包(xmltask.jar)提供了一种方式,使得我们可以在Ant脚本中添加、删除、修改XML元素,这对于读取和处理SVN版本信息非常有用,因为SVN的版本信息通常存储在XML格式的svn:log属性中。 要使用XMLTask,首先...

    apache-ant-zip.jar

    5. **XML配置**:Apache Ant通过XML文件定义构建任务,因此在Ant脚本中设置正确的编码属性至关重要。例如,可以在`&lt;unzip&gt;`任务中指定`encoding`属性来解决解压时的编码问题。 6. **平台兼容性**:不同的操作系统...

    Ant 脚本详解

    总结来说,Ant脚本是Java开发中的一个重要工具,它通过XML配置文件驱动构建过程,实现了编译、打包等自动化任务。通过熟练掌握Ant,开发人员可以提高工作效率,确保构建的可靠性和一致性。在学习Ant的过程中,实践是...

    ant-zip-1.7.1.jar.zip

    "jar.zip包下载"指的是用户可以从某个源下载这个压缩包,这通常是为了方便开发者在本地环境中使用Ant ZIP任务,而无需手动编译源代码。依赖包是指在运行或构建项目时,需要的其他外部库或组件,"ant-zip-1.7.1.jar...

    ant-antlr.jar.zip

    "ant.license.txt"文件通常包含了Ant的许可协议信息,这对于开源软件的使用者来说非常重要,因为这规定了如何合法地使用和分发Ant的源代码或二进制文件。在遵循许可协议的前提下,开发者可以在自己的项目中自由地...

    ant执行sql文件

    标题中的“ant执行sql文件”指的是使用Apache Ant工具来运行SQL脚本文件,这在Java开发中非常常见,尤其是在数据库的初始化或者自动化部署过程中。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,...

    ant-1.6-sources.jar.zip

    在Ant 1.6中,值得注意的是,它支持多种Java版本,并且引入了一些新的特性,如支持Ant脚本语言(Antlr),增强了文件集(fileset)和文件名集(filelist)的功能,以及改进了条件任务(condition)。此外,Ant 1.6还...

    Ant项目所需要用到的jar以及build.xml

    这个压缩包`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.zip"的使用流程通常是这样的:首先,开发者需要将压缩包解压,将"ant-antlr-1.6.4.jar"添加到Ant的类路径中;然后,在build.xml文件中定义一个ANTLR任务,指定输入语法文件和...

    java ant集成1.9.5版本

    通过这个JAR文件,你可以运行Ant命令行工具,执行build.xml文件中的构建脚本。 2. **ant-launcher.jar**:这个JAR文件包含了启动Ant的基础设施。它处理命令行参数,加载构建文件,并负责启动Ant的主类。没有这个...

    Ant脚本打包部署要点.zip_sme_打包部署!

    本文将详细讲解Ant脚本在打包部署中的要点,以及如何通过修改`common.properties`文件来设置代码分支。 首先,让我们了解Ant的基本结构。一个Ant项目通常包含一个名为`build.xml`的主配置文件,这个文件定义了构建...

    java-unrar-0.5.jar、commons-logging-1.2.jar和ant-1.6.5.jar

    例如,使用Ant定义一个构建脚本,它首先调用`java-unrar-0.5.jar`来解压RAR文件,然后利用`commons-logging-1.2.jar`记录解压过程中的日志信息。这种组合方式既实现了RAR文件的解压,又保证了日志记录的便利性,同时...

    ant-antlr-1.8.1.jar.zip

    总结起来,"ant-antlr-1.8.1.jar.zip"是Ant和ANTLR两个工具的结合,它提供了一种在Ant构建环境中使用ANTLR的便捷方式。开发者可以通过这个压缩包,将ANTLR集成到他们的Java项目中,进行高效的语法解析和代码生成。在...

    获取apk包名的ant等jar包

    在Ant脚本中,你可以使用`xpath`任务来提取这个信息,例如: ```xml ``` 接下来是Apktool,这是一个用于反编译和重新打包Android APK文件的工具。Apktool支持解码资源文件、反编译Smali代码(Dalvik字节码的汇编...

    一个常用的ant的build.xml

    4. **文件集(Filesets)**:文件集允许我们指定一组文件或目录,这些可以在任务中使用,比如在编译源代码时指定源代码目录。 5. **条件(Conditions)**:条件可以用来控制构建流程,根据某些条件决定是否执行特定...

    ant介绍Ant是什么

    bin 目录包含 Ant 的可执行脚本,lib 目录则包含了必要的库文件。为了运行 Ant,你需要将其 bin 目录添加到系统的 PATH 环境变量中,并设置 ANT_HOME 环境变量指向 Ant 的安装路径。此外,Ant 需要一个兼容 JAXP 的 ...

    antlr3-ant.jar.zip

    在实际应用中,为了使用`antlr3-ant.jar`,开发者需要在他们的Ant构建脚本中引入这个库,然后可以利用ANTLR提供的Ant任务来生成解析器和词法分析器。例如,他们可能需要创建一个`build.xml`文件,并在其中添加类似...

    ant-antlr-1.6.3.jar.zip

    总的来说,“ant-antlr-1.6.3.jar.zip”是Ant与ANTLR结合的一个实例,它提供了在Ant构建流程中使用ANTLR的能力。开发者可以通过解压并引入这个库,实现更复杂的构建任务,如自定义语言的解析和处理。而“ant.license...

    ant-1.6.5集合包

    标题中的"ant-1.6.5集合包"指的是包含了Ant 1.6.5版本的相关组件的压缩文件,这个集合包包括了以下几个重要的JAR文件: 1. **ant-1.6.5.jar**:这是Ant的核心库,包含了构建过程的主要功能,如读取构建文件、执行...

Global site tag (gtag.js) - Google Analytics