Ant是专门为Java开发的一款编译工具,很多开源工具都能通过Ant配置文件轻松运行,掌握这个工具对以后编译管理项目很有用处。

Ant下载安装

登陆官网http://ant.apache.org/ 下载Ant压缩包并解压,然后在系统环境变量中添加ant包的bin路径。例如我的ant位置是C:\Program Files\apache-ant-1.9.6, 那么在系统环境变量path中添加路径C:\Program Files\apache-ant-1.9.6\bin,如下图所示

然后在命令行输入ant -version能够查看到版本信息,配置就成功了

build.xml配置项目

一个项目的基本配置如下代码所示:

<?xml version="1.0" encoding="UTF-8"?>
<project name="yourProjectName" default="all"  ><property name="build.classes.dir" location="build/classes"/><property name="src.dir" location="src" /><property name="lib.dir" location="lib"/><path id="lib.classpath"><fileset dir="${lib.dir}"><include name="**/*.jar"/></fileset></path><target name="mkdir"><mkdir dir="${build.classes.dir}" /></target><target name="compile" ><javac srcdir="${src.dir}" destdir="${build.classes.dir}"  encoding="utf-8" debug="yes"><classpath refid="lib.classpath" /></javac></target><target name="run" depends="mkdir"><java fork="true" failonerror="yes"  classname="app.Main"><classpath location = "${build.classes.dir}"/><classpath refid = "lib.classpath"/></java></target><target name="all" depends="mkdir,compile,run"></target>
</project>
  1. <project name="yourProjectName" default="all" > name指定工程的名字,default指定工程运行时执行的target名字

  2. <target name="all" depends="mkdir,compile,run"> ant中不同的任务由不同的target来完成,而target执行的任务则是可自由定制的。其中,name指定目标名字,depends则指定该执行该target前,必须先执行哪些其他的target ,接下来分别看看这三个前置任务的执行内容。

  3. <target name="mkdir"> <mkdir dir="${build.classes.dir}" /></target> mkdir主要用来生成目录,这里生成的是编译后的classes存放目录。注意到这里引用了一个自定义的变量build.classes.dir 这个变量在配置文件最开始有过定义,<property name="build.classes.dir" location="build/classes"/>,其中name用来标识该变量,点号可以随便用,如果该变量是一个文件夹 路径,则用location指定位置,注意到这里的位置都是参照build.xml文件的相对路径,如果改变量仅仅用来表示一个值,则用value属性指定具体值。

  4. compile任务中,javac srcdir="${src.dir}" destdir="${build.classes.dir}" encoding="utf-8" 通过使用javac元素来配置编译指令,srcdir指定代码源文件,destdir指定编译输出目录,而最后encoding则指定编码格式,通常包含中文注释的代码文件编译出错,就是由于没有配置该参数。注意到使用classpath指定资源路径时,“引用”了lib.classpath路径,而该路径则包括了所有库jar包,将该资源路径单独定义方便复用。

  5. run任务中 <java fork="true" failonerror="yes" classname="app.Main"> 使用java元素配置运行参数,fork指定是否在新JVM中运行,一般图快就选falseclassname 则指定项目的入口类,类似于javac,使用classpath定义运行是所需的资源目录,首先是类文件,然后是运行支撑库。

最后在命令行当前目录键入ant即可构建整个项目


通过以上配置,可以满足项目的基本运行需求,如果想获得更多定制功能,就需要详细了解各个ant元素的参数意义,参见
Ant定制Java运行环境
Ant各种参数和任务详解

Ant编译Java项目-QuickStart相关推荐

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

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

  2. 解决IEDA编译java项目出现 library root ,编译缺少 rt.jar jce.jar

    解决IEDA编译java项目出现 library root ,编译缺少 rt.jar jce.jar 问题 编译项目时,提示找不到rt.jar,编译添加后,出现缺少jce.jar,maven依赖项显示 ...

  3. 【Java】IDEA编译Java项目报错 java: 找不到符号 的解决方法

    IDEA编译Java项目报错java: 找不到符号,情况如下所示: 解决方法: 先删除out文件夹,然后选择File → Invalidate Caches → Invalidate and Rest ...

  4. 使用javac编译Java项目

    在缺乏eclipse和idea等IDE的工具的情况下,使用jdk自带的javac命令编译Java项目 当项目只有一个Java文件的时候,可以直接使用 javac 文件名.java 但是如果有多个源文件 ...

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

        Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.        ...

  6. Ant在Java项目中的使用(一眼就看会)

    参考:http://www.cnblogs.com/zhengqiang/p/5557155.html Ant是跨平台的构建工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将A ...

  7. 用Ant编译Flex项目的几点注意事项

    1. 往mxmlc中用define添加编译参数的时候特别要注意一点,字符串一定要包含在单引号''中. 下面的写法是无法通过的: <mxmlc ...><define name=&qu ...

  8. Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)

    实现流程: 手动部署Java项目至后端Web集群 1.搭建Nginx+Tomcat集群架构. 2.开发提交Java源代码至Gitlab仓库. 3.手动获取Java源代码,然后使用Maven进行编译. ...

  9. idea编译Java项目的部分java文件并且生成class文件

    设置class文件的生成位置 file->project structure out put 选择第二个设置输出位置 设置resource和source 方法:点击文件右键->make d ...

最新文章

  1. 讲讲数据分析中的同期群模型
  2. 对象包装器与自动(拆箱)装箱+参数数量可变的方法+枚举类
  3. html5视差滚动效果,视差滚动效果
  4. 对于一个指针可以多次使用delete_【C++札记】new和delete
  5. 【Hadoop】HDFS Short Circuit Local Reads(HDFS短路读取)
  6. wordpress 伪静态nginx设置
  7. 【转贴】我对测试工作的一些认识
  8. 【caffe】基于CNN的年龄和性别检测
  9. Es6 filter()、map()、find()方法详解
  10. 发抖音上热门最佳时间 视频MD5修改器苹果手机
  11. 免费java模板下载安装_java程序员免费简历模板下载
  12. http://bt.neu6.edu.cn/forum.php,分享一些教育网访问较快的站点~
  13. 推荐5款免费网盘,空间大不限速!
  14. [转]验证码识别技术
  15. 58、JAVA Collections集合排序相关静态方法---方法1
  16. nyoj-366 D的小L
  17. NextDay-Java(适用软件测试)
  18. Fiddler+手机模拟器+java采集抖音评论数据
  19. 虚拟机时间不同步如何解决?
  20. 《Effective STL》 读书笔记

热门文章

  1. ol中闪烁点动画的实现
  2. 【毕设项目问题】IDEA打开springboot项目,启动项上有红色叉叉
  3. 杭州千岛湖|杭州千岛湖风景介绍|杭州千岛湖景点介绍
  4. 大数据领域的性能测试Benchmark介绍
  5. 本地配置多个git账户(公司、GitHub)
  6. 精神心理科医生教您如何摆脱精神科药物带来的副作用
  7. 轮廓线扫描算法:Theo Pavlidis' Algorithm
  8. Android---universal-image-loader应用
  9. ModSecurity web application firewall (WAF) Research
  10. 初次来到博客园进行交流学习还请大家多指教!