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

用Ant打包Jar文件(包含lib)

    博客分类:
  • java
ant 
阅读更多
  <project default="jar" name="Acid">
        <!-- 工程目录结构
        project
            |-bin
            |-src
            |-lib
            |-out
            |-build.xml
        -->
        <property name="lib.dir" value="lib"/>
        <property name="src.dir" value="src"/>
        <property name="classes.dir" value="bin"/>
    
        <property name="output.dir" value="out"/>
        <property name="jarname" value="Test.jar"/>
        <property name="mainclass" value="com.biao.Test"/>
    
        <!-- 第三方jar包的路径 -->
        <path id="lib-classpath">
            <fileset dir="${lib.dir}">
                <include name="**/*.jar"/>
            </fileset>
        </path>
    
        <!-- 1. 初始化工作,如创建目录等 -->
        <target name="init">
            <mkdir dir="${classes.dir}"/>
            <mkdir dir="${output.dir}"/>
        </target>
    
        <!-- 2. 编译 -->
        <target name="compile" depends="init">
            <javac srcdir="${src.dir}" destdir="${classes.dir}">
                <compilerarg line="-encoding UTF-8"/>
                <classpath refid="lib-classpath"/>
            </javac>
        </target>
    
        <!-- 3. 打包jar文件 -->
        <target name="jar" depends="compile">
            <copy todir="${output.dir}/lib">
                <fileset dir="${lib.dir}"/>
            </copy>
    
            <!--Create a property containing all .jar files,
            prefix lib/, and seperated with a space-->
            <pathconvert property="mf.classpath" pathsep=" ">
                <mapper>
                    <chainedmapper>
                        <!-- jar包文件只留文件名,去掉目录信息 -->
                        <flattenmapper/>
                        <!-- add lib/ prefix -->
                        <globmapper from="*" to="lib/*"/>
                    </chainedmapper>
                </mapper>
                <path refid="lib-classpath"/>
             </pathconvert>
    
            <!-- jar文件的输出路径 -->
            <jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
                <manifest>
                    <attribute name="Main-class" value="${mainclass}"/>
                    <attribute name="Class-Path" value="${mf.classpath}"/>
                </manifest>
            </jar>
        </target>
    </project> 
分享到:
评论

相关推荐

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

    Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们将详细讨论如何使用Ant实现这个目标。 首先,确保你已经安装了Ant,并且在项目中...

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

    标题中的“ant将依赖的jar包和classes文件一起打成可执行jar”指的是使用Apache Ant工具来构建一个包含依赖库和编译后类文件的Java应用程序可执行JAR文件。Ant是一个基于XML的构建工具,它允许开发者通过定义任务来...

    ant打包jar文件脚本分享

    《Ant打包Java应用详解——构建jar与war文件》 在Java开发过程中,将源代码编译并打包成可执行的jar或war文件是一项常见的任务。Apache Ant是一个强大的、基于XML的构建工具,它允许开发者自定义构建过程。本文将...

    Ant脚本打包Android程序的demo 多渠道及第三方JAR打包

    包中已包含,需要将其放到ant的lib文件夹下。"&gt;build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。 build_mulity_channel是多渠道打包...

    ant lib ant 所有lib包

    Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,类似...而"ant lib ant 所有lib包"可能是一个集合,包含了所有Ant及其扩展库的JAR文件,方便开发者在一个地方获取所有必要的依赖,从而简化构建环境的设置。

    ant打包Web工程

    这通常包括`WEB-INF`目录,其中包含`web.xml`部署描述符,`lib`目录存放库文件,以及`META-INF`和静态资源文件(如HTML、CSS、JavaScript)。 5. **打包(War Task)**:`&lt;war&gt;`任务是Ant中用于打包Web应用的关键...

    ant编译的文件要在eclipse中编译需要的jar文件

    标题中提到的"ant编译的文件要在eclipse中编译需要的jar文件"暗示了在Eclipse中配置和使用Ant构建系统时,需要引入特定的外部库。这些库是Ant运行和执行任务所必需的,特别是当我们要编译像Tomcat这样的项目时,因为...

    使用ANT所需jar包

    在使用ANT时,你需要在类路径(classpath)中包含这些JAR文件,以便ANT在运行时能找到并加载所需的库。这可以通过在ANT的`&lt;classpath&gt;`标签中指定JAR文件的位置来实现。例如: ```xml &lt;path id="ant.classpath"&gt; ...

    ant打包部署工具,官方下载

    在“apache-ant-1.8.1”这个压缩包中,包含了Ant 1.8.1版本的所有文件和目录,包括bin目录下的可执行脚本(ant和ant.bat),lib目录下的核心库和依赖库,以及docs目录下的用户手册和API文档。用户可以通过解压这个...

    apache-ant-1.9.6的jar包

    标题中提到的"apache-ant-1.9.6的jar包"是指包含Ant核心功能的Java库,这个jar文件是运行Ant命令和脚本的基础。用户通常需要将其添加到类路径(classpath)中,以便在Eclipse这样的集成开发环境(IDE)中进行集成,...

    ANT打包命令详解api指令

    `clean`任务删除`build`目录,`compile`任务编译源代码到`build/classes`,`war`任务则生成WAR包,包含`WebRoot`下的资源、`lib`目录的JAR文件以及编译后的类文件。 4. **ANT示例1.3** 也涉及编译和清理任务,但未...

    eclipse 打包 jar 碰到的问题(包含第三方包)

    在Ant中,可以使用`&lt;jar&gt;`任务配合`&lt;fileset&gt;`来包含lib目录下的所有jar;在Maven中,可以使用`maven-assembly-plugin`或`maven-shade-plugin`来生成包含所有依赖的单个JAR。 5. **使用Gradle**: 对于使用Gradle...

    ant.jar java工具

    `ant.jar`包含了Ant运行所需的全部类和方法,使得开发者可以执行各种构建任务,包括编译、打包、测试、清理等。 在Java的内置库`java.util.zip`中,虽然提供了诸如`ZipOutputStream`和`ZipInputStream`这样的类来...

    jar打包,jar打包

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

    JAVA打包成可运行的JAR程序

    Class-Path: ./lib/axis-ant.jar ./lib/axis.jar ./lib/commons-codec-1.3.jar ./lib/commons-discovery-0.2.jar ./lib/commons-httpclient-3.1.jar ./lib/commons-logging-1.0.4.jar ./lib/commons-logging-1.1.1....

    java用ant打包

    当我们谈到“java用ant打包”时,通常指的是创建两种类型的可部署包:WAR(Web应用程序归档)和JAR(Java归档)文件。WAR文件用于部署Web应用程序,包含Servlets、JSPs和其他相关资源;JAR文件则用来封装Java类库,...

    ant打包时编码 GBK 的不可映射字符.txt

    ### ant打包时编码 GBK 的不可映射字符 #### 背景介绍 在软件开发过程中,使用构建工具如Ant来自动化编译、打包等任务是十分常见的做法。但是,在处理包含非ASCII字符(例如中文)的源代码时,可能会遇到字符编码...

    tools and ant jar

    在Java开发环境中,"tools.jar" 和 "ant.jar" 是两个非常重要的库文件,它们各自服务于不同的目的。这里,我们将详细探讨这两个jar文件以及它们在Java开发中的作用。 首先,"tools.jar" 是Java开发工具集的一部分,...

    【Ant】Ant实例(1)一个Java文件依赖于某jar包,需要打包部署

    本文将探讨如何使用Ant来处理一个简单的场景:一个Java文件(JettySample.java)依赖于某个jar包(例如webserver.jar),并将其打包成可部署的格式。 1. 安装与配置Ant 在开始之前,确保已经在本地安装了Ant,并且...

Global site tag (gtag.js) - Google Analytics