`

ant将多个jar打包为一个jar

    博客分类:
  • Ant
 
阅读更多

ant中的build.xml主要标签如下:

(1)<mkdir>创建文件夹

(1)<copy>拷贝文件

(2)<javac> 编译java文件     

(3)<jar>打包class文件

(3)<unzip>解压缩jar包

      具体用法网上有很多,不过有一用法很值得一提,就是将多个jar包打成一个大的jar包,代码如下:

<target name="jar" depends="compile">
   <echo message="Jar: ${name}"/>
<unzip src="${hive.root}/lib/commons-logging-1.0.4.jar" dest="${build.dir.hive}/commons-logging/classes">
      <patternset>
      <exclude name="META-INF"/>
      <exclude name="META-INF/MANIFEST.MF"/>
      </patternset>
</unzip>
<unzip src="${hive.root}/lib/libfb303.jar" dest="${build.dir.hive}/fb303/classes">
       <patternset>
       <exclude name="META-INF"/>
       <exclude name="META-INF/MANIFEST.MF"/>
       </patternset>
</unzip>
<unzip src="${hive.root}/lib/log4j-1.2.15.jar" dest="${build.dir.hive}/log4j/classes">
          <patternset>
          <exclude name="META-INF"/>
          <exclude name="META-INF/MANIFEST.MF"/>
          </patternset>
</unzip>
<unzip src="${build.dir.hive}/hadoopcore/hadoop-0.20.1/hadoop-0.20.1-core.jar" dest="${build.dir.hive}/hadoop/classes">
             <patternset>
             <exclude name="META-INF"/>
             <exclude name="META-INF/MANIFEST.MF"/>
             </patternset>
</unzip>

     <!-- jar jarfile="${build.dir}/hive_${name}.jar" basedir="${build.classes}" / -->
<jar jarfile="${hive.root}/hugetable_jdbc_driver.jar">
       <fileset dir="${build.dir.hive}/commons-logging/classes" includes="**/*.class"/>
    <fileset dir="${build.dir.hive}/fb303/classes" includes="**/*.class"/>
    <fileset dir="${build.dir.hive}/log4j/classes" includes="**/*.class"/>
    <fileset dir="${build.dir.hive}/hadoop/classes" includes="**/*.class"/>
  
</jar>
</target>

第一步:解压需要的jar文件到一个特定目录。

第二步:将解压好的class文件一起压缩到目的jar包。

分享到:
评论

相关推荐

    ant打jar包时, 怎么把所依赖的jar包与从源码中编译过来class文件合并成最终的一个jar?

    当我们有多个jar包相互依赖时,需要将它们合并成一个单一的jar,以便于部署和使用。Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们...

    将多个jar包合并为一个jar包

    为了简化项目结构、减少资源占用以及方便管理,开发者有时会选择将多个JAR包合并成一个单一的JAR包。这个过程被称为JAR文件的合并。本文将详细讲解如何进行这项操作,并分享一个实用的合并工具。 首先,理解JAR文件...

    ant 将依赖的jar包和classes文件一起打成可执行jar

    10. **元素**:将多个JAR文件合并为一个类路径条目,这样可以方便地把依赖的JAR包打包进最终的可执行JAR。 11. **使用Ant的lib目录**:通常,Ant的lib目录存放的是构建过程中需要的第三方库,这些库可以通过元素...

    apache-ant-1.7.1 完整jar包 含api

    Apache Ant 是一个开源的构建工具,它主要用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.7.1"版本是Ant的一个重要里程碑,提供了许多功能和改进,使得开发者能够更加灵活和有效地管理他们的项目构建...

    ant-1.5.4.jar.zip

    JAR文件是一种归档格式,它允许将多个Java类文件、资源文件和其他相关文件打包到一个单一的可执行文件中。这有助于减少网络传输的时间,同时也能提供一种方式来保护代码版权,因为JAR文件可以被签名。 在压缩包内,...

    ant脚本编译jar

    本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...

    jar打包,jar打包

    这段XML脚本定义了一个名为`jar`的目标,使用`&lt;jar&gt;`元素创建名为`myapplication.jar`的JAR文件,并将`classes`目录下的所有`.class`文件添加进去。 #### 四、多主类的应用程序处理 有些情况下,一个应用程序可能...

    ant-1.5.jar.zip

    总的来说,Ant 1.5.jar.zip是一个包含Ant 1.5核心库和许可协议的压缩包,它提供了一种基于XML的构建方式,适用于Java项目。尽管现代的构建工具有了更多高级特性,但Ant 1.5仍然在许多遗留项目中发挥着作用,对于理解...

    ant-1.7.1.jar.zip

    在Java开发中,Ant是一个基于XML的构建工具,它的主要任务是读取名为"build.xml"的配置文件,根据其中的指令执行各种构建任务,如编译源代码、打包、测试、部署等。Ant的工作方式是通过一系列的任务(Tasks)来完成...

    emma_ant.jar,emma.jar合包

    标题中的"emma_ant.jar,emma.jar合包"指的是将Emma工具的两个主要组件——`emma.jar`和`emma_ant.jar`合并在一起的压缩文件。Emma是一个广泛使用的Java代码覆盖率工具,它提供了对Java应用程序单元测试的覆盖率分析...

    ant zip jar

    例如,如果你有一个包含Java源代码和相关资源的项目,你可以用Ant构建一个Jar文件,然后将它与依赖库一起打包到Zip文件中,以便于分发。在这个过程中,`ant.jar`文件可能是一个已经包含Ant工具的Jar文件,而`zip.txt...

    ant-1.7.0.jar

    1. 任务(Task):Ant的核心是任务,它们是Ant执行的具体动作,如编译源代码、复制文件、打包JAR等。Ant 1.7.0版本提供了丰富的内置任务,同时支持用户自定义任务。 2. 构建文件(Build File):通常命名为“build.xml...

    ant-task-1.3.2.jar.zip

    Ant Task 1.3.2.jar可能依赖于其他库来实现其功能,比如Ant Contrib库,这是一个包含了更多自定义Ant任务的扩展库。在使用Ant Task 1.3.2.jar时,必须确保所有依赖的库都已经正确地包含在类路径中,否则可能会导致...

    使用ant从多个SourceFolder的项目中导出jar包的测试项目

    有些项目中存在多个SourceFolder,而我们可能需要从其中一个SourceFolder中导出jar包。使用ant进行简单的编译打包已经不能满足该需求。笔者经过细心研究,找到了一种可行的解决方案。详情请参考该完整的java项目,...

    ant-sahi.jar.zip

    总的来说,"ant-sahi.jar.zip"是一个为Java开发者准备的自动化测试工具包,它结合了Ant的构建能力和Sahi的测试能力,使得Web应用的测试和部署变得更加高效。通过解压和正确配置,用户可以轻松地在项目中引入这个工具...

    Android中使用Ant方式友盟多渠道打包

    然后,定义一个`import`标签,引入Android SDK的`anttasks.jar`,这样Ant就能识别Android相关的构建任务。 接下来,编写一个`clean`任务,用于清理生成的临时文件和APK。再编写一个`compile`任务,用来编译项目的源...

    apache-ant(jar包).zip

    Apache Ant 是一个由Apache软件基金会开发的Java库和命令行工具,其任务是驱动构建过程。这个工具的主要目的是通过XML定义的构建文件来自动化软件构建流程,这些文件通常命名为`build.xml`。Ant的设计理念是简单性和...

    Ant 打可运行的jar

    本篇文章将详细介绍如何使用Ant来创建一个可运行的JAR文件,使得我们能够直接通过命令行运行这个JAR。 首先,我们需要了解Ant的基本结构。一个Ant构建文件通常命名为`build.xml`,它包含了各种目标(target)和任务...

    ant 打包 java project 为ant

    8. **JAR Manifest**:在打包JAR时,可以指定一个清单文件(Manifest),其中包含了主类(Main-Class)和其他元数据,使得JAR可以直接执行。 9. **执行Ant脚本**:通过命令行运行`ant`命令,并指定目标(target),...

    ant-launcher-1.6.4.jar.zip

    标签"jar"进一步确认了这个文件与Java世界相关,JAR文件是Java平台的标准打包格式,用于收集多个类文件和相关的元数据到一个单一的档案中,便于分发和运行。 压缩包子文件的文件名称列表有两个: 1. ant-launcher-...

Global site tag (gtag.js) - Google Analytics