`
darkma
  • 浏览: 527700 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

运用ant打包

阅读更多

<?xml version="1.0" encoding="gbk" ?>
<!-- ant调用cmd命令行,ant运行参数有空格的jar程序 -->
<project name="ant执行(调用)cmd命令行" default="make_jar_for_test5" basedir=".">
<property name="jarDir" value="E:\大地工作\updateBak\ant使用大全(我的)\用ant 压缩备份" />
<property name="testCopyFormDir" value="C:\t1" />
<property name="testCopyToDir" value="C:\t1\update" />

<target name="test1">
   <!-- 1.直截执行一句命令行 -->
   <!-- arg line 适合于参数中没有空格的情况 -->
   <exec executable="cmd" failonerror="true">
    <arg line="/c echo %path%" />
   </exec>
</target>

<target name="test2">
   <!--
   2.这里演示的是ant中执行批处理文件“c:/cpy.bat”文件内容为一句命令,如下:
   java -classpath "${jarDir}/copyTool_fat.jar" cmd.file.CopyFile "D:/My Documents" "${testCopyFormDir}" -1
   -->  
   <exec executable="cmd" failonerror="true">
    <arg line="/c c:/cpy" />
   </exec>
</target>

<target name="test3">
   <!--
   3.ant中以参数带空格的命令行的方式运行一个jar程序,等效执行这个批处理,如下:
   java -classpath "${jarDir}/copyTool_fat.jar" cmd.file.CopyFile "D:/My Documents" "${testCopyFormDir}" -1
   -->
   <exec executable="cmd" failonerror="true">
    <arg value="/c" />
    <arg value="java" />
    <arg value="-classpath" />
    <arg value="${jarDir}/copyTool_fat.jar" />
    <arg value="cmd.file.CopyFile" />
    <arg value="${testCopyFormDir}" />
    <arg value="${testCopyToDir}" />
    <arg value="-2" />
   </exec>
</target>

<!-- 有关java方式,参考ant文档:ant\docs\manual\tasksoverview.html -->

<target name="test4">
   <!--
   4.ant中以参数带空格的java方式运行一个jar程序,等效执行这个批处理,如下:
   java -classpath "${jarDir}/copyTool_fat.jar" cmd.file.CopyFile "D:/My Documents" "${testCopyFormDir}" -1

   参数jar/classname不可同时用,用jar的时候要有入口类 ,这里用的是参数classname
   -->
   <java failonerror="true" classname="cmd.file.CopyFile">
    <arg value="${testCopyFormDir}" />
    <arg value="${testCopyToDir}" />
    <arg value="-2" />
    <classpath>
     <pathelement location="${jarDir}/copyTool_fat.jar" />
    </classpath>
   </java>
</target>


<target name="make_jar_for_test5">
   <!-- 创建jar文件。
   如果用bat文件创建,批处理语句如:
   jar cvfm prj.jar prj_classes/META-INF/MANIFEST.MF -C prj_classes .
   rem bat文件和classes目录在同一父级目录里面

   其中MANIFEST.MF内容为3句,如下:
   Manifest-Version: 1.0
   Created-By: Fat Jar Eclipse Plug-In
   Main-Class: cmd.file.CopyFile
   -->
   <jar jarfile="copyTool.jar" basedir="${jarDir}\copyTool\bin">
    <manifest>
     <attribute name="Manifest-Version" value="1.0"/>
     <attribute name="Created-By" value="chenxiaowen"/>
     <!--如果想要以 <java jar="copyTool.jar"/ ……> 的方式运行就必须列出引用到的jar文件,否则报错:
     java.lang.NoClassDefFoundError: org/apache/commons/lang/time/DateUtils
     并且在调用的时候要保证列出的jar文件的位置没有发生变化(例子参见 test5 )
     -->
     <attribute name="Class-Path" value="copyTool\lib\commons-io-1.4.jar copyTool\lib\commons-lang-2.4.jar"/>
     <attribute name="Main-Class" value="cmd.file.CopyFile"/>
    </manifest>
   </jar>
</target>


<!-- <classpath refid="libs" /> -->
    <path id="libs">
     <pathelement path="${jarDir}"/>
   <fileset dir="${jarDir}">
            <include name="**/*.jar"/>
        </fileset>
   <!-- pathelement path="commons-io-1.4.jar" / -->
   <!--pathelement location="commons-lang-2.4.jar" / -->
    </path>

<target name="test5">
   <!--  
   使用多个jar文件(没有用jar fat打包为一个)
   ant中以参数带空格的java方式运行一个jar程序。
   参数jar/classname不可同时用,用jar的时候要有入口类 ,这里用的是参数jar
   -->
   <java dir="${jarDir}" jar="${jarDir}/copyTool.jar" fork="true" maxmemory="128m" failonerror="true">
    <arg value="${testCopyFormDir}" />
    <arg value="${testCopyToDir}" />
    <arg value="-2" />
    <!-- 无需这里指定 classpath,classpath已经在创建 copyTool.jar 的时候指定了 -->
   </java>
</target>


<target name="test6">
   <!--
   使用1个jar文件(用jar fat打包为一个)
   ant中以参数带空格的java方式运行一个jar程序。
   参数jar/classname不可同时用,用jar的时候要有入口类 ,这里用的是参数jar
   -->
   <java failonerror="true" fork="true" jar="${jarDir}/copyTool_fat.jar" dir="${jarDir}/">
    <arg value="${testCopyFormDir}" />
    <arg value="${testCopyToDir}" />
    <arg value="-2" />
   </java>
</target>


<target name="test7">
   <!--
   使用多个jar文件(没有用jar fat打包为一个)
   ant中以参数带空格的java方式运行一个jar程序。  
   参数jar/classname不可同时用,用jar的时候要有入口类 ,这里用的是参数classname
  
   以批处理方式执行需要多个jar文件的程序所用的命令行如:
   java -classpath ".\copyTool.jar;.\commons-io-1.4.jar;.\commons-lang-2.4.jar" cmd.file.CopyFile "D:/My Documents" "${testCopyFormDir}" -1
   java -classpath ".\copyTool.jar;.\lib\commons-io-1.4.jar;.\lib\commons-lang-2.4.jar" cmd.file.CopyFile "D:/My Documents" "${testCopyFormDir}" -1
   -->
   <java failonerror="true" classname="cmd.file.CopyFile" fork="true">
    <arg value="${testCopyFormDir}" />
    <arg value="${testCopyToDir}" />
    <arg value="-2" />
    <!-- 所用的jar文件在这个引用里面 -->
    <classpath refid="libs"/>
   </java>
</target>

</project>

 

原文引自:http://hi.baidu.com/chenxiaowen/blog/item/d9cdd409c0d87185d1581bc7.html

分享到:
评论

相关推荐

    ant打包详细教程

    在IT行业中,构建工具起着至关重要的作用,它们自动化了应用程序的编译、测试和部署过程。Apache Ant是其中的一款...通过阅读提供的文档和教程,你将能够熟练地运用Ant进行打包操作,并深入理解其背后的原理和机制。

    ant打包

    视频教程在学习Ant打包过程中扮演了辅助角色,它们提供直观的视觉演示,帮助开发者理解Ant的工作原理和配置语法。通过观看这些视频,初学者可以更好地掌握如何编写和执行Ant脚本,了解如何处理特定的构建挑战,如...

    Ant打包Applet并添加数字签名.rar

    在IT行业中,Ant是一个常用的构建自动化工具,由Apache软件基金会开发。它主要用来自动化Java项目的构建过程,...通过熟练运用Ant,开发者可以自动化复杂的构建流程,同时数字签名则为网络上的Java应用提供了安全保障。

    ant.jar________打包工具

    《Ant.jar:Java世界的构建利器》 在Java开发领域,Ant是一个不可或缺的工具,它以其强大的功能和...无论是在小型项目还是大型企业级应用中,Ant都能展现出其强大的实力和灵活性,值得每一个Java开发者掌握和运用。

    运用ant建置Eclipse专案

    ### 运用ant建置Eclipse专案 在软件开发领域,自动化构建工具的重要性不言而喻。其中,Apache Ant 是一个非常流行的Java项目构建工具,它能够帮助开发者通过简单的XML配置文件(通常是`build.xml`)来实现项目的...

    ant分渠道批量打包测试工程

    总的来说,Ant批量打包测试工程是一项涉及项目配置管理、脚本编写、自动化工具运用的综合工作。通过熟练掌握Ant和相关扩展库,我们可以有效地提升软件开发的效率,实现快速迭代和多渠道发布。在实际操作中,应结合...

    ant自动打包

    在IT行业中,自动打包是一项非常重要的任务,尤其是在Android或Java应用开发中。Ant是一个流行的开源构建工具,由Apache软件基金会维护,...理解并熟练运用Ant,对于任何Java或Android开发者来说,都是一项重要的技能。

    ant构建以及基本运用

    任务是Ant的基本工作单元,例如编译、复制、打包等。通过设置属性(property),可以为构建过程提供可配置的参数。 3. Ant的任务: - `javac`:用于编译Java源代码。 - `copy`:用于复制文件或目录。 - `jar`:...

    ant是一种打包工具

    在软件开发过程中,Ant主要负责编译、打包、测试等自动化任务,极大地提升了开发效率和项目的可维护性。它采用XML来定义任务,使得构建过程具有良好的可读性和可移植性。 Ant的核心概念是“构建文件”(build.xml)...

    Ant权威指南(介绍ant的好书)

    《Ant权威指南》是一本深度解析Apache Ant工具的专业书籍,对于深入理解和熟练运用Ant构建Java项目具有极高的价值。Ant是Java社区广泛采用的自动化构建工具,它以其灵活性、可扩展性和强大的任务定义能力,成为了...

    Ant 1.9.1 学习笔记

    Ant是一个基于Java的构建工具,主要用于简化Java应用程序的构建过程,它通过XML文件来描述构建过程,执行编译、测试、...通过阅读学习笔记和官方文档,结合具体项目实践,可以逐渐熟悉并灵活运用Ant完成各种构建任务。

    8_ant_通过ant生成doc和zip(基于实战的)

    在IT行业中,构建工具起着至关重要的作用,它们自动化了软件开发过程中的许多任务,比如编译、打包、测试等。Ant是Apache软件基金会下的一...了解并熟练运用Ant的各种任务,对于任何Java开发者来说都是必备的技能之一。

    ant开发指南用于说明ant一些相关信息

    《Ant开发指南:深入了解Ant构建工具的关键特性与应用》 ...通过深入理解和灵活运用Ant的各项功能,可以显著提高软件开发的效率和质量。希望本文能帮助广大开发者更好地掌握Ant,为项目构建带来更大的便利。

    ant-contrib-1.0b3的jar.zip

    《Ant Contrib 1.0b3:扩展Ant构建任务的利器》 在Java开发中,Ant作为一款强大的构建工具,广泛应用于项目的构建、打包...通过熟练掌握并运用Ant Contrib提供的任务,我们可以更加高效地管理Java项目,提升开发效率。

    Java Development with Ant.pdf

    ### Java Development with Ant #### 知识点概览 1. **Ant介绍** - Ant的概念与起源 ...通过学习本书,开发者不仅能够掌握Ant的基本用法,还能深入了解如何在实际项目中高效地运用Ant来提升开发效率和质量。

    org.apache.tools.*需要的ant.jar包

    Apache Ant 是一个由Java编写的开源构建工具,它被广泛用于Java项目的构建、打包和部署。标题中的"org.apache.tools.*需要的ant.jar包"指的是Apache ...理解并熟练运用Ant对于Java开发者来说是提升效率和生产力的关键。

    ant使用手册(中文教程)

    Ant是Apache软件基金会开发的一款Java项目构建工具,...通过阅读“ant使用手册(中文教程)”,无论是初学者还是有经验的开发者,都能深入理解Ant的工作原理和使用技巧,从而更好地在Java项目中运用Ant进行自动化构建。

    ant介绍使用视频和项目

    Apache Ant 是一个开源的Java构建工具,它以其XML格式的构建文件著称,这些文件用于定义构建任务。...无论你是初学者还是有经验的开发者,这个资源都将帮助你更好地理解和运用Ant这一强大的构建工具。

    Ant培训全套学习教程

    《Ant培训全套学习教程》是一份全面覆盖Ant工具学习的资源集合,旨在帮助开发者深入了解和熟练运用Ant进行软件构建。Ant是Apache软件基金会的一个开放源代码项目,它是一款基于Java的构建工具,常用于管理Java项目的...

Global site tag (gtag.js) - Google Analytics