首先可以参考这两篇文章:

dos下编译运行java工程:

http://blog.csdn.net/lyhdream/article/details/17200445

dos下打包整个java工程:

http://blog.csdn.net/lyhdream/article/details/17203893

我的java工程根目录为类容如下:

接下来我们删除掉.settings  bin .classpath  .project这些目录和文件,避免干扰

在src目录中有三个包

com.liyuanhong.ui

com.liyuanhong.ui.main.java

com.liyuanhong.ui.OperationWindow.java

com.liyuanhong.listener

com.liyuanhong.listener.ChooseFile.java

com.liyuanhong.listener.ConvertFile.java

com.liyuanhong.util

com.liyuanhong.util.ConverMethod.java

在org.json,目录中存放的是org.json.jar包

在工程目录下创建一文件: build.xml ,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="jar"><property name="root_path" value="."></property><property name="bin_path" value="${root_path}/bin"></property><property name="src_path" value="${root_path}/src"></property><property name="ui_src_path" value="${src_path}/com/liyuanhong/ui"></property><property name="listener_src_path" value="${src_path}/com/liyuanhong/listener"></property><property name="util_src_path" value="${src_path}/com/liyuanhong/util"></property><target name="init"><mkdir dir="${bin_path}"></mkdir></target> <target name="compile" depends="init"><javac srcdir="${util_src_path}" destdir="bin" classpath="org.json/org.json.jar"></javac><javac srcdir="${listener_src_path}" destdir="bin" classpath="org.json/org.json.jar"></javac><javac srcdir="${ui_src_path}" destdir="bin" classpath="org.json/org.json.jar"></javac></target><target name="unzip_json" depends="compile"><unjar src="org.json/org.json.jar" dest="${bin_path}"><patternset><include name="org/json/*"/></patternset></unjar></target><target name="jar" depends="unzip_json"><jar destfile="changetopy.jar" encoding="utf-8"><fileset dir="${bin_path}"></fileset><manifest><attribute name="Main-Class" value="com.liyuanhong.ui.main"/></manifest>         </jar></target>
</project>

接下来介绍其原理:
首先定义了一下几个任务:
init :创建一个bin目录,用于放置编译好的class文件
compile :编译src目录下的原文件到bin下的相应目录下
Unzip_jar :解压org.json.jar包里的 org/json 目录下的所有文件到bin目录下
jar :打包bin目录下的所有文件
通过以上四个任务的执行,就将这个java工程打包好了。

注意:project中的default属性要为最后一个任务,这样才能从最后一个任务通过依赖关系追溯到第一个任务来执行。

建议:学习ant可以看ant的官方帮助文档,其中详细的介绍了ant的用途与优势,ant的安装,ant的基本使用,ant的任务元素(target的子元素的用途与属性)等等。(官方文档的查阅除了在ant官网上查看;我们还可以通过在解压ant之后,进入manual目录,打开index.html即可)

参考ant基础介绍:

http://blog.csdn.net/lyhdream/article/details/17334801

实验工程包下载地址:
http://download.csdn.net/download/lyhdream/6679209

ant编译java工程总结相关推荐

  1. 如何用shell脚本编译java工程

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  2. Android 使用Ant编译Android 工程

    如何编译Android 工程? 关于如何编译Android 工程在这篇官方文档这里中解释的比较清楚, 太多的详细的解释我就不说了,RTFM. 我需要说的是我们既可以让IDE替你完成编译的编译工作,也可 ...

  3. Ant编译Java项目-QuickStart

    Ant是专门为Java开发的一款编译工具,很多开源工具都能通过Ant配置文件轻松运行,掌握这个工具对以后编译管理项目很有用处. Ant下载安装 登陆官网http://ant.apache.org/ 下 ...

  4. android 牛人必修 ant 编译android工程

    最近比较懒,博客一直都没更新,上次有人问ant 来编译android 工程,这里我就完整的整理了一下.如果你嫌弃IDE太慢或者觉得手动编译更Cool,不用IDE你可以学到更多.也是成为牛人的必修课啊! ...

  5. ant 编译android工程(转)

    最近比较懒,博客一直都没更新,上次有人问ant 来编译android 工程,这里我就完整的整理了一下.如果你嫌弃IDE太慢或者觉得手动编译更Cool,不用IDE你可以学到更多.也是成为牛人的必修课啊! ...

  6. ant 编译java 项目_使用ant编译打包、部署简单的javaweb项目 --01

    目录结构: D:\code\kongee\ant_web_hello λ tree /f 卷 软件 的文件夹 PATH 列表 卷序列号为 000D-CD8E D:. │ .classpath │ .p ...

  7. [Android Pro] ant 编译android工程

    参考文章: http://blog.csdn.net/xyz_lmn/article/details/7268582?reload http://hubingforever.blog.163.com/ ...

  8. dos下编译运行java工程,并解决外部jar包依赖

    首先介绍一下我在eclipse中能够运行的工程目录结构: 接下来删除掉.settings  bin .classpath  .project这些目录和文件(避免干扰) 在src目录中有三个包 com. ...

  9. Ant编译编译APK、打包打包JS

    Ant编译编译APK.打包打包JS Base on Apache Ant 1.8.4 一.Apache Ant 维基百科:http://zh.wikipedia.org/wiki/Apache_Ant ...

最新文章

  1. 抢占大数据产业发展先机
  2. 终于还是对“带薪拉SHI”出手了...
  3. html怎样设置字体不能被选中,css设置:图片文字等不能被选择
  4. python样本期望值_用 python 做 z 检验,t 检验
  5. bzoj 1369: Gem 树形dp
  6. 不礼让行人怎么抓拍的_【交通违法曝光2019年第11期】梅河口市公安局交警大队对电子警察抓拍的88台机动车不礼让行人车辆曝光如下...
  7. leetcode 141 环形链表 C++
  8. Java核心技术卷I基础知识1.2.7 可移植性
  9. 路由器NAT负载均衡实验过程详解
  10. linux系统双显卡切换显卡驱动,自动化系统Linux显卡驱动及BIOS设置笔记(NVIDIA/ATI)...
  11. R语言manova函数多元方差分析(MANOVA)、单因素多元方差分析的两个假设是多元正态性和方差-协方差矩阵的齐性、QQ图评估多元正态性、mvoutlier包中的aq.plot函数检验多变量异常值
  12. 制作风格——百变幻灯片,完全DIY(高级教程)
  13. 浏览器能上网,qq,百度云不能上
  14. Android ScrollView 长截屏
  15. where in 和where=
  16. 2038年问题 linux内核5.6,Linux Kernel 5.6 开发者已率先做好准备 应对 2038 年问题
  17. HDU4598 Difference(差分约束)
  18. 【考研数学】数一-数学概念anki卡片合集-547张-23000字-22电子科大考研上岸整理
  19. syscall(SyS_gettid)
  20. Gym - 101485G NWERC2015 G Guessing Camels

热门文章

  1. python入门导引
  2. Stanford UFLDL教程 卷积特征提取
  3. 编程之美-分层遍历二叉树方法整理
  4. Matlab中断语句
  5. 虚拟现实大会ChinaVR2015报告之-From Visual Content to Virtual Reality Data-driven Intelligence Production
  6. webservice 之 Java CXF实战效果 RS WS(二)
  7. html和xhtml和html5一些区别和笔记
  8. Delphi 2009 新增单元 Character[2]: IsLetter、IsUpper、IsLower、IsDigit、IsNumber
  9. ffmpeg硬解码视频文件播放器
  10. scp时候出现ssh Connection refused的解决方案