Ant将多个jar打包为一个jar

本文详细介绍了如何使用改进的Ant脚本解决打包过程中遇到的问题,确保正确打包包含多个依赖库的Jar文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://blog.youkuaiyun.com/unetman/article/details/6721248

 

本来用Fat-jar插件试了下,结果打出来的包不行

 

修改ant脚本如下

 

<project name="common-jars-lib" default="main">

	<property name="home" value="." />
	<property name="jarname" value="common-jars-lib.jar" />

	<echo message="start ....................." />
	<target name="main" depends="jar">
		<delete dir="${home}/output/classes" />
	</target>

	<target name="clean">
		<mkdir dir="${home}/output" />
		<delete includeEmptyDirs="true">
			<fileset dir="${home}/output" includes="**/*" />
		</delete>

	</target>
	<target name="unzip" depends="clean">

		<unzip src="${home}/lib/icu4j-3.4.4.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/iri-0.8.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/jena-2.6.4.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/log4j-1.2.13.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/lucene-core-2.3.1.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/slf4j-api-1.5.8.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/slf4j-log4j12-1.5.8.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/stax-api-1.0.1.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/xercesImpl-2.7.1.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>
		<unzip src="${home}/lib/wstx-asl-3.2.9.jar" dest="${home}/output/classes/">
			<patternset>
				<exclude name="META-INF" />
				<exclude name="META-INF/MANIFEST.MF" />
			</patternset>
		</unzip>



	</target>



	<target name="jar" depends="unzip">
		<jar jarfile="${home}/output/${jarname}">
		<fileset dir="${home}/output/classes/" includes="**/*" />
		</jar>
	</target>

</project>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值