将多个jar包打包成一个jar包

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


(1)<mkdir>创建文件夹

(2)<copy>拷贝文件
(3)<javac> 编译java文件     
(4)<jar>打包class文件

(5)<unzip>解压缩jar包


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

  1. <target name="jar" depends="compile">  
  2.    <echo message="Jar: ${name}"/>  
  3. <unzip src="${hive.root}/lib/commons-logging-1.0.4.jar" dest="${build.dir.hive}/commons-logging/classes">  
  4.       <patternset>  
  5.       <exclude name="META-INF"/>  
  6.       <exclude name="META-INF/MANIFEST.MF"/>  
  7.       </patternset>  
  8. </unzip>  
  9. <unzip src="${hive.root}/lib/libfb303.jar" dest="${build.dir.hive}/fb303/classes">  
  10.        <patternset>  
  11.        <exclude name="META-INF"/>  
  12.        <exclude name="META-INF/MANIFEST.MF"/>  
  13.        </patternset>  
  14. </unzip>  
  15. <unzip src="${hive.root}/lib/log4j-1.2.15.jar" dest="${build.dir.hive}/log4j/classes">  
  16.           <patternset>  
  17.           <exclude name="META-INF"/>  
  18.           <exclude name="META-INF/MANIFEST.MF"/>  
  19.           </patternset>  
  20. </unzip>  
  21. <unzip src="${build.dir.hive}/hadoopcore/hadoop-0.20.1/hadoop-0.20.1-core.jar" dest="${build.dir.hive}/hadoop/classes">  
  22.              <patternset>  
  23.              <exclude name="META-INF"/>  
  24.              <exclude name="META-INF/MANIFEST.MF"/>  
  25.              </patternset>  
  26. </unzip>  
  27.   
  28. <!-- jar jarfile="${build.dir}/hive_${name}.jar" basedir="${build.classes}" / -->  
  29. <jar jarfile="${hive.root}/hugetable_jdbc_driver.jar">  
  30.     <fileset dir="${build.dir.hive}/commons-logging/classes" includes="**/*.class"/>  
  31.     <fileset dir="${build.dir.hive}/fb303/classes" includes="**/*.class"/>  
  32.     <fileset dir="${build.dir.hive}/log4j/classes" includes="**/*.class"/>  
  33.     <fileset dir="${build.dir.hive}/hadoop/classes" includes="**/*.class"/>  
  34. </jar>  
  35. </target>  
<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包。


OK,就这么简单!

 

内容来自:http://blog.csdn.net/unetman/article/details/6721248


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值