1:在eclipse中建立如下的工程

值得注意的就是build.xml文件(这个是重点后面会提到) ,其他HelloWorld中的就是一句简单的输出语句

2: 使用build打包(右键然后选择运行),运行后在console下可以看到如下图的过程

当看到了BUILD SUCCESSFUL 表面打包成功了!!!!

3:然后来到你的**\dist下可以看到刚刚打包成功的包 如下图 :

4:ANT很智能的,如果你已经实现了上面三个过程的打包,再次打包的话它会默认的执行空的操作 (如下图)

5:最重要的bulid.xml文件(此中有很多ANT内置的命令可以具体参考一下ant的用法)

  1. <project name="HelloWorld" default="jar" basedir=".">
  2. <description>
  3. building HelloWorld!
  4. </description>
  5. <!-- set global properties for this build -->
  6. <property name="src" location="src"/>
  7. <property name="build" location="classes"/>
  8. <property name="dist"  location="dist"/>
  9. <property name="user.name" value="qiuqiu"/>
  10. <target name="init">
  11. <!-- Create the time stamp -->
  12. <tstamp/>
  13. <!-- Create the classes directory structure used by compile -->
  14. <mkdir dir="${build}"/>
  15. </target>
  16. <target name="build" depends="init"  description="build the source code" >
  17. <!-- Compile the java code from ${src} into ${build} -->
  18. <javac srcdir="${src}" destdir="${build}"/>
  19. </target>
  20. <target name="jar" depends="build"
  21. description="generate the distribution" >
  22. <!-- Create the distribution directory -->
  23. <mkdir dir="${dist}/lib"/>
  24. <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
  25. <jar destfile="${dist}/HelloWorld-${DSTAMP}.jar" basedir="${build}">
  26. <manifest>
  27. <attribute name="Built-By" value="${user.name}"/>
  28. <attribute name="Main-Class" value="org.javaresearch.HelloWorld"/>
  29. </manifest>
  30. </jar>
  31. </target>
  32. <target name="run" depends="build" description="run HelloWorld">
  33. <java classpath="${build}" classname="org.javaresearch.HelloWorld"></java>
  34. </target>
  35. <target name="runjar" depends="jar" description="run HelloWorld in jar file">
  36. <java jar="${dist}/HelloWorld-${DSTAMP}.jar"
  37. fork="true"
  38. failonerror="true"
  39. maxmemory="128m"
  40. >
  41. <arg value="-h"/>
  42. <classpath>
  43. <pathelement location="${dist}/HelloWorld-${DSTAMP}.jar"/>
  44. <pathelement path="${java.class.path}"/>
  45. </classpath>
  46. </java>
  47. </target>
  48. <target name="clean"
  49. description="clean up" >
  50. <!-- Delete the ${build} and ${dist} directory trees -->
  51. <delete dir="${build}"/>
  52. <delete dir="${dist}"/>
  53. </target>
  54. </project>
<project name="HelloWorld" default="jar" basedir=".">
<description>
building HelloWorld!
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="classes"/>
<property name="dist" location="dist"/>
<property name="user.name" value="qiuqiu"/> <target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the classes directory structure used by compile -->
<mkdir dir="${build}"/>
</target> <target name="build" depends="init" description="build the source code" >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target> <target name="jar" depends="build"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/> <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar destfile="${dist}/HelloWorld-${DSTAMP}.jar" basedir="${build}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="org.javaresearch.HelloWorld"/>
</manifest>
</jar>
</target> <target name="run" depends="build" description="run HelloWorld">
<java classpath="${build}" classname="org.javaresearch.HelloWorld"></java>
</target> <target name="runjar" depends="jar" description="run HelloWorld in jar file">
<java jar="${dist}/HelloWorld-${DSTAMP}.jar"
fork="true"
failonerror="true"
maxmemory="128m"
>
<arg value="-h"/>
<classpath>
<pathelement location="${dist}/HelloWorld-${DSTAMP}.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target> <target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>

6:ant使用指南(为了方便没有资源分的朋友下载,这里给大家0资源分): http://download.csdn.net/source/3529167

有不足之处欢迎指正

图解教你如何使用ANT打包java程序的更多相关文章

  1. 使用Ant打包Java后台程序

    概述 本文通过一个简单的Java Application例子描述如何用ANT完成基本的程序打包工作.包含文件拷贝.编译.打包三部分:完成这三部就可以得到一个可运行的程序包了. ANT的安装,环境变量的 ...

  2. 使用exe4j打包Java程序

    工具: exe4j软件(云盘存) 可以运行的Java程序的jar包 打开我们已经安装好的exe4j软件,首先看到的是一个欢迎界面,我们直接[next]就可以了: 2 在第二步中我们选择[JAR in ...

  3. idea 打包java程序

    创建maven项目 在pom.xml中添加: <build> <plugins> <plugin> <groupId>org.apache.maven. ...

  4. 打包java程序生成exe

    打包java程序生成exe 目标 我们知道c++的控制台程序编译运行以后就会生成一个exe可执行文件,在电脑上可以直接双击运行,但是java是跨平台的语言,编译运行以后的字节码文件.class是和平台 ...

  5. 在Linux下通过rpm打包发布Java程序

    这个东西涉及的内容较多,根据下面这些文章慢慢学习 一个简单的例子 http://blog.csdn.net/king_on/article/details/7169384 按照文章中的步骤来,打包之后 ...

  6. JAVA程序打包成exe文件详细图解

    我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: eclipse ...

  7. 一招教你IDEA中Java程序如何打包,以及打包后如何运行

    前言 编写程序 程序打包 测试运行 IDEA作为目前按最主流的Java程序项目编写工具,越来越受到开发人员的青睐.idea因为其五花八门的功能,让你在开发过程中效率显著提高.那么对于初学者来说,如何通 ...

  8. 用Ant实现Java项目的自动构建和部署

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml         本文请勿转载! Ant是一个Apache基金会下的跨平台的构 ...

  9. 不会用ant打包、部署项目的工程师,不是一个好程序员(测试)

    副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要具备这种本领.你可以手动打包.部署你的工程,但这不是最好的方法.最好的方式就是全自动化的方 ...

随机推荐

  1. 2.node。框架express

    node.js就是内置的谷歌V8引擎,封装了一些对文件操作,http请求处理的方法 使你能够用js来写后端代码 用node.js开发脱离浏览器的js程序,主要用于工具活着服务器,比如文件处理. 用最流 ...

  2. windows下使用vs code调试简单的C程序

    常使用visual studio code(vs code)打开.c文件,如果让vs code具备调试技能估计会比较有用 准备工作: 1. vs code安装插件:cpptools 2. window ...

  3. Kubernetes系列:Kubernetes Dashboard

    15.1.Dashboard 作为Kube认得Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理.通过Dashb ...

  4. linux epoll ET边沿触发

    /***EPOLL ET 触发必须使用非阻塞,LT触发可以阻塞/非阻塞.*read 函数 非阻塞读需 忙轮寻 soket关闭返回0,循环读完数据*如果已经读完再读read返回 -1,errno=11( ...

  5. TPO6-1Powering the Industrial Revolution

    The source had long been known but not exploited. Early in the eighteenth century, a pump had come i ...

  6. 项目课 day02.1

    JWT - json-web-token json.dumps(d,separators = (',' , ':')) separators:分隔符,键值对之间  ,相连, jwt.encode({' ...

  7. springboot集成aop日志

    日常开发中假如是前后端完全分离,我们会习惯用浏览器去调用controller的接口来测试.这一个过程普通的日志功能会记录sql参数等一些基本信息.但是假如项目越来越庞大,我们的包越来越多,在维护项目和 ...

  8. PAT甲级——1027 Colors in Mars

    1027 Colors in Mars People in Mars represent the colors in their computers in a similar way as the E ...

  9. django框架进阶-分页-长期维护

    ##################   分页    ####################### 分页, django有自己内置的分页,但是功能不是很强大,所以自己写一个分页, web页面数据非常 ...

  10. vs编译完提示不支持尝试的执行操作

    最近公司在用MFC做项目,编译完就弹窗提示,不支持尝试的执行操作,开始没注意,但是点击弹窗提示无反应: 问题原因:dialog里的控件有的已经删除了,但是DoDataExchange函数还存在控件的关 ...