今日更新
技术新闻
精彩专题
IBM软件技术专区
微软开发专区
技术文档中心
编程语言
网络通信
网络安全
LINUX/UNIX
软件工程与管理
数据库开发
WEB开发
企业应用与开发
移动开发
资源中心
原创专栏
开放系统世界
人才与培训
技术天地论坛
厂商列表
社区推荐

· 女性身体内部人体受孕..
· 十部顶级的变态与情色..
· 感情放纵让我毁了两个..
· 当我撞见姐姐和男友在..
· 卖淫少女惨遭泄愤民工..
· 偷拍街上的走光mm绝对..
· 百度打击google的广告
· 港娱乐圈与黑社会揭秘
赛迪网>>技术应用>>上首页
关键字: Java;Eclipse;Ant
来  源: ChinaITLab
实例教您Eclipse快速上手指南之使用ANT
作者:ChinaITLab 发文时间:2005.04.25
Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率。如果你现在还没有开始使用Ant,那就要赶快开始学习使用,使自己的开发水平上一个新台阶。

Eclipse中已经集成了Ant,我们可以直接在Eclipse中运行Ant。

以前面建立的Hello工程为例,创建以下目录结构:



   新建一个build.xml,放在工程根目录下。build.xml定义了Ant要执行的批处理命令。虽然Ant也可以使用其它文件名,但是遵循标准能更使开发更规范,同时易于与别人交流。

通常,src存放Java源文件,classes存放编译后的class文件,lib存放编译和运行用到的所有jar文件,web存放JSP等web文件,dist存放打包后的jar文件,doc存放API文档。

然后在根目录下创建build.xml文件,输入以下内容:

<?xml version="1.0"?>
  <project name="Hello world" 
default="doc">
  
  <!-- properies -->
  <property name="src.dir"
value="src" />
  <property name="report.dir"
value="report" />
  <property name="classes.dir" 
value="classes" />
  <property name="lib.dir" 
value="lib" />
  <property name="dist.dir" 
value="dist" />
  <property name="doc.dir" 
value="doc"/>
  
  <!-- 定义classpath -->
  <path id="master-classpath">
  <fileset file="${lib.dir}/*.jar" />
  <pathelement path="${classes.dir}"/>
  </path>
  
  <!-- 初始化任务 -->
  <target name="init">
  </target>
  
  <!-- 编译 -->
  <target name="compile" depends="init"
description="compile the source files">
  <mkdir dir="${classes.dir}"/>
  <javac srcdir="${src.dir}" 
destdir="${classes.dir}"
target="1.4">
  <classpath refid="master-classpath"/>
  </javac>
  </target>
  
  <!-- 测试 -->
  <target name="test" depends="compile"
description="run junit test">
  <mkdir dir="${report.dir}"/>
  <junit printsummary="on"
  haltonfailure="false"
  failureproperty="tests.failed"
  showoutput="true">
  <classpath refid="master-classpath" />
  <formatter type="plain"/>
  <batchtest todir="${report.dir}">
  <fileset dir="${classes.dir}">
  <include name="**/*Test.*"/>
  </fileset>
  </batchtest>
  </junit>
  <fail if="tests.failed">
  ********************************
  **** One or more tests failed! 
    Check the output ... ****
  ********************************
  </fail>
  </target>
  
  <!-- 打包成jar -->
  <target name="pack" depends="test"
description="make .jar file">
  <mkdir dir="${dist.dir}" />
  <jar destfile="${dist.dir}/hello.jar"
basedir="${classes.dir}">
  <exclude name="**/*Test.*" />
  <exclude name="**/Test*.*" />
  </jar>
  </target>
  
  <!-- 输出api文档 -->
  <target name="doc" depends="pack"
description="create api doc">
  <mkdir dir="${doc.dir}" />
  <javadoc destdir="${doc.dir}"
  author="true"
  version="true"
  use="true"
  windowtitle="Test API">
  <packageset dir="${src.dir}"
defaultexcludes="yes">
  <include name="example/**" />
  </packageset>
  <doctitle><![CDATA[<h1>Hello, 
test</h1>]]></doctitle>
  <bottom><![CDATA
[<i>All Rights Reserved.</i>]]>
</bottom>
  <tag name="todo" scope="all"
description="To do:" />
  </javadoc>
  </target>
  </project>
  

以上xml依次定义了init(初始化),compile(编译),test(测试),doc(生成文档),pack(打包)任务,可以作为模板。

选中Hello工程,然后选择“Project”,“Properties”,“Builders”,“New…”,选择“Ant Build”:

 

填入Name:Ant_Builder;Buildfile:build.xml;Base Directory:${workspace_loc:/Hello}(按“Browse Workspace”选择工程根目录),由于用到了junit.jar包,搜索Eclipse目录,找到junit.jar,把它复制到Hello/lib目录下,并添加到Ant的Classpath中:



然后在Builder面板中钩上Ant_Build,去掉Java Builder:

  

再次编译,即可在控制台看到Ant的输出:

Buildfile: 
F:\eclipse-projects\Hello\build.xml
  
  init:
  
  compile:
  [mkdir] Created dir: 
F:\eclipse-projects\Hello\classes
  [javac] Compiling 2 source files to 
F:\eclipse-projects\Hello\classes
  
  test:
  [mkdir] Created dir: 
F:\eclipse-projects\Hello\report
  [junit] Running example.HelloTest
  [junit] Tests run: 1, Failures: 
0, Errors: 0, Time elapsed: 0.02 sec
  
  pack:
  [mkdir] Created dir: 
F:\eclipse-projects\Hello\dist
  [jar] Building jar: 
F:\eclipse-projects\Hello\dist\hello.jar
  
  doc:
  [mkdir] Created dir:
F:\eclipse-projects\Hello\doc
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files
for package example...
  [javadoc] Constructing 
Javadoc information...
  [javadoc] Standard Doclet 
version 1.4.2_04
  [javadoc] Building tree for all 
the packages and classes...
  [javadoc] Building index for all 
the packages and classes...
  [javadoc] Building index for all
classes...
  [javadoc] Generating 
F:\eclipse-projects\Hello\doc\stylesheet.css...
  [javadoc] Note: Custom tags that
could override future standard tags:
@todo. To avoid potential overrides, 
use at least one period character (.) 
in custom tag names.
  [javadoc] Note: Custom tags 
that were not seen: @todo
  BUILD SUCCESSFUL
  Total time: 11 seconds
  

Ant依次执行初始化,编译,测试,打包,生成API文档一系列任务,极大地提高了开发效率。将来开发J2EE项目时,还可加入部署等任务。并且,即使脱离了Eclipse环境,只要正确安装了Ant,配置好环境变量ANT_HOME=<Ant解压目录>,Path=…;%ANT_HOME%\bin,在命令行提示符下切换到Hello目录,简单地键入ant即可。

(T117)




赛迪网推出“IT博客”,花不到一分钟就完成注册
评论】 【推荐】 【 】 【打印】 【关闭

·Linux专区· ·黑客攻防·
· Linux下添加硬盘、分区、格式化任务详解
· FreeBSD服务器的安装与优化之优化篇
· 初学者入门:FreeBSD服务器的安装与优化
· 金企鹅杯两岸四地开源软件大赛圆满结束
· 如何提高Linux系统安全性的十大招数
· 构筑Linux防火墙之为个人用户设置防火墙
· 谁更安全?黑客眼中的防火墙与路由器
· 识破骗局 练就识别QQ活动真伪火眼金睛
· 应用安全大有可为:目的、挑战、总结
· 道高一尺魔高一丈:安全防御的动感魅力
· 警惕网络“内”院起火 积极谋求安内之路
· HHCTRL漏洞被黑客利用 疯狂传播木马
·中国信息化· ·成功案例·
· ERP普及化是饮鸩止渴 精细化才是应用之道
· 赛门铁克第八期《互联网安全威胁报告》解析
· 抢食“数字工商” 国产中间件杀出血路
· 从IBM等操作系统的发展看软件创新的启示
· 服务成就蓝色快车 品牌是怎样炼成的?
· 三大技术应用大会合为一体甲骨文上演三重奏
· 南阳教育城域网 拆掉学校间的“围墙”
· 金算盘助申意美步入信息化快车道
· 不为人知的索尼信息化 谁是幕后英雄?
· InforBus/Q在穗高速路联网收费系统中的应用
· J2EE构建最新金融理念和运作模式的网上银行
· 食品安全令人担心 信息化能否保驾护航
*姓  名: 更多资料 了解方案 认识厂商
*单位名称:
*联系电话:
*电子邮件:
    
◆ 相关文章   ◆ 站内热点推荐
· 献给初学者:Java语言基础
· C++创始人坦言不输Java及C# 用户逾300万
· 教您如何在Eclipse中建立自己的JUnit测试
· BEA、Borland两大公司认同Eclipse平台
· JDeveloper 10g快速开发会话EJB完全图解
· 网管员论坛
· 开发者之家
· WLAN无限未来
· 我是如何掉进C#的……
· 中国“人件”非正式调查

   
合作网站: IBM dW中国网站 LinuxAID 软件工程专家网 中国系统分析员 UMLChina MATRIX Mobile2008 JavaResearch 华储网 UML软件工程组织 中国JAVA手机网 JAVA中文站 金山在线 海量科技