参考:http://blog.csdn.net/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>
分享到:
相关推荐
当我们有多个jar包相互依赖时,需要将它们合并成一个单一的jar,以便于部署和使用。Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们...
为了简化项目结构、减少资源占用以及方便管理,开发者有时会选择将多个JAR包合并成一个单一的JAR包。这个过程被称为JAR文件的合并。本文将详细讲解如何进行这项操作,并分享一个实用的合并工具。 首先,理解JAR文件...
10. **元素**:将多个JAR文件合并为一个类路径条目,这样可以方便地把依赖的JAR包打包进最终的可执行JAR。 11. **使用Ant的lib目录**:通常,Ant的lib目录存放的是构建过程中需要的第三方库,这些库可以通过元素...
Apache Ant 是一个开源的构建工具,它主要用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.7.1"版本是Ant的一个重要里程碑,提供了许多功能和改进,使得开发者能够更加灵活和有效地管理他们的项目构建...
JAR文件是一种归档格式,它允许将多个Java类文件、资源文件和其他相关文件打包到一个单一的可执行文件中。这有助于减少网络传输的时间,同时也能提供一种方式来保护代码版权,因为JAR文件可以被签名。 在压缩包内,...
本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...
这段XML脚本定义了一个名为`jar`的目标,使用`<jar>`元素创建名为`myapplication.jar`的JAR文件,并将`classes`目录下的所有`.class`文件添加进去。 #### 四、多主类的应用程序处理 有些情况下,一个应用程序可能...
总的来说,Ant 1.5.jar.zip是一个包含Ant 1.5核心库和许可协议的压缩包,它提供了一种基于XML的构建方式,适用于Java项目。尽管现代的构建工具有了更多高级特性,但Ant 1.5仍然在许多遗留项目中发挥着作用,对于理解...
在Java开发中,Ant是一个基于XML的构建工具,它的主要任务是读取名为"build.xml"的配置文件,根据其中的指令执行各种构建任务,如编译源代码、打包、测试、部署等。Ant的工作方式是通过一系列的任务(Tasks)来完成...
标题中的"emma_ant.jar,emma.jar合包"指的是将Emma工具的两个主要组件——`emma.jar`和`emma_ant.jar`合并在一起的压缩文件。Emma是一个广泛使用的Java代码覆盖率工具,它提供了对Java应用程序单元测试的覆盖率分析...
例如,如果你有一个包含Java源代码和相关资源的项目,你可以用Ant构建一个Jar文件,然后将它与依赖库一起打包到Zip文件中,以便于分发。在这个过程中,`ant.jar`文件可能是一个已经包含Ant工具的Jar文件,而`zip.txt...
1. 任务(Task):Ant的核心是任务,它们是Ant执行的具体动作,如编译源代码、复制文件、打包JAR等。Ant 1.7.0版本提供了丰富的内置任务,同时支持用户自定义任务。 2. 构建文件(Build File):通常命名为“build.xml...
Ant Task 1.3.2.jar可能依赖于其他库来实现其功能,比如Ant Contrib库,这是一个包含了更多自定义Ant任务的扩展库。在使用Ant Task 1.3.2.jar时,必须确保所有依赖的库都已经正确地包含在类路径中,否则可能会导致...
有些项目中存在多个SourceFolder,而我们可能需要从其中一个SourceFolder中导出jar包。使用ant进行简单的编译打包已经不能满足该需求。笔者经过细心研究,找到了一种可行的解决方案。详情请参考该完整的java项目,...
总的来说,"ant-sahi.jar.zip"是一个为Java开发者准备的自动化测试工具包,它结合了Ant的构建能力和Sahi的测试能力,使得Web应用的测试和部署变得更加高效。通过解压和正确配置,用户可以轻松地在项目中引入这个工具...
然后,定义一个`import`标签,引入Android SDK的`anttasks.jar`,这样Ant就能识别Android相关的构建任务。 接下来,编写一个`clean`任务,用于清理生成的临时文件和APK。再编写一个`compile`任务,用来编译项目的源...
Apache Ant 是一个由Apache软件基金会开发的Java库和命令行工具,其任务是驱动构建过程。这个工具的主要目的是通过XML定义的构建文件来自动化软件构建流程,这些文件通常命名为`build.xml`。Ant的设计理念是简单性和...
本篇文章将详细介绍如何使用Ant来创建一个可运行的JAR文件,使得我们能够直接通过命令行运行这个JAR。 首先,我们需要了解Ant的基本结构。一个Ant构建文件通常命名为`build.xml`,它包含了各种目标(target)和任务...
8. **JAR Manifest**:在打包JAR时,可以指定一个清单文件(Manifest),其中包含了主类(Main-Class)和其他元数据,使得JAR可以直接执行。 9. **执行Ant脚本**:通过命令行运行`ant`命令,并指定目标(target),...
标签"jar"进一步确认了这个文件与Java世界相关,JAR文件是Java平台的标准打包格式,用于收集多个类文件和相关的元数据到一个单一的档案中,便于分发和运行。 压缩包子文件的文件名称列表有两个: 1. ant-launcher-...