Ant将多个jar打包为一个jar

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


(1)<mkdir>创建文件夹

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

(5)<unzip>解压缩jar包


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

[html] view plain copy
  1. <targetname="jar"depends="compile">
  2. <echomessage="Jar:${name}"/>
  3. <unzipsrc="${hive.root}/lib/commons-logging-1.0.4.jar"dest="${build.dir.hive}/commons-logging/classes">
  4. <patternset>
  5. <excludename="META-INF"/>
  6. <excludename="META-INF/MANIFEST.MF"/>
  7. </patternset>
  8. </unzip>
  9. <unzipsrc="${hive.root}/lib/libfb303.jar"dest="${build.dir.hive}/fb303/classes">
  10. <patternset>
  11. <excludename="META-INF"/>
  12. <excludename="META-INF/MANIFEST.MF"/>
  13. </patternset>
  14. </unzip>
  15. <unzipsrc="${hive.root}/lib/log4j-1.2.15.jar"dest="${build.dir.hive}/log4j/classes">
  16. <patternset>
  17. <excludename="META-INF"/>
  18. <excludename="META-INF/MANIFEST.MF"/>
  19. </patternset>
  20. </unzip>
  21. <unzipsrc="${build.dir.hive}/hadoopcore/hadoop-0.20.1/hadoop-0.20.1-core.jar"dest="${build.dir.hive}/hadoop/classes">
  22. <patternset>
  23. <excludename="META-INF"/>
  24. <excludename="META-INF/MANIFEST.MF"/>
  25. </patternset>
  26. </unzip>
  27. <!--jarjarfile="${build.dir}/hive_${name}.jar"basedir="${build.classes}"/-->
  28. <jarjarfile="${hive.root}/hugetable_jdbc_driver.jar">
  29. <filesetdir="${build.dir.hive}/commons-logging/classes"includes="**/*.class"/>
  30. <filesetdir="${build.dir.hive}/fb303/classes"includes="**/*.class"/>
  31. <filesetdir="${build.dir.hive}/log4j/classes"includes="**/*.class"/>
  32. <filesetdir="${build.dir.hive}/hadoop/classes"includes="**/*.class"/>
  33. </jar>
  34. </target>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值