`
feng413
  • 浏览: 26487 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ant的jar打包的target

阅读更多
<project name="client" default="compile" basedir=".">
	<property name="product" value="client"/>
	<property name="version" value="1.0"/>
	<property name="src.dir" value="${basedir}/src"/>
	<property name="build.dir" value="${basedir}/build"/>
	<property name="lib.dir" value="${basedir}/lib"/>
	<property name="jar.file" value="${product}.${version}.jar"/>

	<path id="classpath">
		<fileset dir="${lib.dir}">
			<include name="**/*.jar"/>
		</fileset>
	</path>

	<target name="clean">
		<echo>clean build dir</echo>
		<delete dir="${build.dir}" quiet="true"/>
		<delete file="${lib.dir}/${jar.file}" quiet="true"/>
	</target>

	<target name="init" depends="clean">
		<mkdir dir="${build.dir}"/>
	</target>

	<target name="compile" depends="init">
		<echo>compile the source</echo>
		<javac srcdir="${src.dir}" destdir="${build.dir}">
			<include name="**/*.java"/>
			<classpath refid="classpath"/>
		</javac>
	</target>

	<target name="jar" depends="compile">
		<jar destfile="${lib.dir}/${jar.file}">
			<fileset dir="${build.dir}">
				<include name="**/*.class"/>
			</fileset>
			<manifest>
				<attribute name="Main-Class" value="Demo"/>
				<attribute name="Class-Path" value="axis.jar commons-discovery-0.2.jar commons-logging.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar"/>
			</manifest>
		</jar>
	</target>

	<target name="run" depends="jar">
		<java jar="${lib.dir}/${jar.file}" fork="yes">
		</java>
	</target>
</project>

当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本yourJarExe.jar的内部class作为类的寻找范围,因此当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设置为codebase目录,所有的class搜索都在这个目录下开始.所以如果使用了其他第三方的jar包,一个比较可以接受的可配置方案,就是利用jar包的Manifest扩展机制.
步骤如下:
1.将需要的第三方的jar包,复制在同可执行jar所在的目录或某个子目录下. 比如:jar 包在 /usrhome/yourJarExe.jar 那么你可以把所有jar包复制到/usrhome目录下或/usrhome/lib 等类似的子目录下.
2.修改Manifest 文件
在Manifest.mf文件里加入如下行
Class-Path:classes12.jar lib/thirdlib.jar
Class-Path 是可执行jar包运行依赖的关键词
分享到:
评论

相关推荐

    ant.jar________打包工具

    Ant.jar的使用并不复杂,开发者只需要编写符合规范的build.xml文件,然后通过命令行运行`ant [target]`,Ant就会根据文件中的定义自动执行相应的构建任务。此外,大多数现代Java IDE,如Eclipse和IntelliJ IDEA,都...

    使用Ant编译打包

    **Ant编译打包详解** Ant 是 Apache 软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Make,但更为现代且专为Java设计。Ant使用XML来描述构建过程,包括编译、测试、打包和部署等任务,使得开发者...

    java ant打包jar

    Java Ant 打包Jar是Java开发中的一个关键步骤,它涉及到构建自动化的过程。Ant是一个由Apache软件基金会开发的Java库和命令行工具,其设计目标是驱动构建过程,类似于Make,但它是用Java编写的,因此可以跨平台运行...

    利用ant.jar解压缩zip包

    Ant是一个基于Java的构建工具,它提供了一系列的任务,包括处理文件、编译代码、打包应用程序等,其中就包含了对压缩文件的操作。 本话题主要聚焦于如何利用ant.jar来解压缩ZIP包。首先,你需要确保你的项目中已经...

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

    在Java开发过程中,将源代码编译为class文件并打包成jar是常见的步骤。当我们有多个jar包相互依赖时,需要将它们合并成一个单一的jar,以便于部署和使用。Ant是一个流行的Java构建工具,它允许我们通过配置XML文件...

    ant脚本编译jar

    在Java开发过程中,打包和部署是必不可少的环节,而`Ant`作为一个强大的构建工具,能够帮助我们自动化这些任务。本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际...

    jar打包,jar打包

    ### Java应用程序打包详解:利用JAR文件简化发布流程 在Java开发过程中,打包应用程序以便于部署和分发是一项重要的步骤。对于初次接触这一领域的开发者来说可能会遇到一定的挑战,但Java平台提供了一系列强大的...

    ant批量打包脚本

    6. **运行Ant脚本**:在命令行中执行`ant &lt;target&gt;`命令,如`ant package`,Ant会根据build.xml文件中的配置执行打包任务。 7. **多渠道打包**:在脚本中添加循环或者条件判断,遍历所有渠道的配置文件,为每个渠道...

    mac下ant打包android

    `ant-contrib.jar`是一个扩展库,提供了更多的Ant任务和条件,使得构建脚本更加灵活。比如,你可以使用`for`循环任务来遍历不同的渠道名,并相应地创建和打包APK。 要开始使用Ant进行Android打包,首先需要安装...

    apache-ant-1.9.6的jar包

    Apache Ant 是一个开源的构建工具,它主要用于Java项目构建、自动化任务执行,如编译、打包、测试和部署。在Java开发中,Ant以其XML格式的构建文件(build.xml)著称,允许开发者定义项目构建的步骤和依赖关系。...

    java项目ant打包脚本

    Java项目中的Ant打包脚本是开发过程中的一个重要环节,它使得开发者能够自动化构建、测试和部署应用程序。Ant是一个基于XML的构建工具,由Apache软件基金会开发,它在Java社区广泛使用,替代了早期的Makefile,因为...

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

    3. **&lt;target&gt;元素**:定义了一个个具体的构建任务,比如编译源代码、打包JAR等。 4. **元素**:用于编译Java源代码到`.class`文件,可以设置源代码目录、目标目录以及编译选项。 5. **&lt;jar&gt;元素**:用来创建JAR...

    Ant 打包工程

    在Java领域,Ant作为一款强大的构建工具,被广泛用于自动化构建任务,包括编译、测试、打包和部署等。本文将深入探讨Ant在打包工程中的应用。 ### Ant简介 Ant是由Apache软件基金会开发的开源项目,它是一个基于...

    ant.jar最新包

    Ant.jar 最新包详解 Ant 是 Apache 软件基金会开发的一个开源项目,它是一个基于 Java 的构建工具,主要用于自动化软件项目的构建、编译、测试和部署过程。Ant 使用 XML 格式的构建文件(build.xml)来定义任务,...

    ant 打包 java project 为ant

    9. **执行Ant脚本**:通过命令行运行`ant`命令,并指定目标(target),如`ant jar`,Ant会执行相应的目标及其依赖。 10. **源码管理和版本控制**:在现代开发中,Java项目通常使用Git等版本控制系统进行源码管理,...

    ant.jar下载

    使用命令行,可以通过`java -jar ant.jar`的方式启动Ant,配合构建文件执行相应的构建任务。 总结来说,Apache Ant是Java开发中的一个强大构建工具,通过XML描述构建过程,实现编译、测试、打包等任务的自动化。它...

    java安装程序,利用Ant构建打包工具

    4. **打包Java应用程序**:Ant的`&lt;jar&gt;`任务可以将编译后的.class文件打包成JAR文件,这通常是Java应用程序的基础包。你可以设置JAR的manifest文件,指定主类和其他属性。 5. **创建安装程序**:对于可视化的Java...

    ant打包工具

    **Ant打包工具详解** Ant是Apache软件基金会Jakarta项目下的一个构建工具,它以其灵活性和可扩展性在Java开发领域中被广泛应用。Ant基于XML,它的主要任务是编译源代码、创建JAR文件、执行测试、部署应用程序等。...

    ant打包详细教程

    本教程将深入探讨Ant的打包过程,帮助你理解和掌握这个强大的构建工具。 Ant是一个基于XML的构建工具,它的核心是一个名为`build.xml`的配置文件,这个文件定义了项目构建的各个步骤。在`Ant_的最完整build.xml解释...

    java的Ant打包工具

    Java的Ant打包工具是开发过程中不可或缺的一部分,尤其在构建、部署和自动化任务管理方面发挥着重要作用。Ant是由Apache软件基金会开发的一个开源项目,其设计灵感来源于Make,但使用XML来描述构建过程,使得构建...

Global site tag (gtag.js) - Google Analytics