﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-和爪哇一起走过的日子-随笔分类-Eclipse</title><link>http://www.blogjava.net/lq410/category/3123.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:40:34 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:40:34 GMT</pubDate><ttl>60</ttl><item><title>Eclipse快速上手指南之使用Ant</title><link>http://www.blogjava.net/lq410/archive/2005/09/02/11821.html</link><dc:creator>扑扑</dc:creator><author>扑扑</author><pubDate>Fri, 02 Sep 2005 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/lq410/archive/2005/09/02/11821.html</guid><wfw:comment>http://www.blogjava.net/lq410/comments/11821.html</wfw:comment><comments>http://www.blogjava.net/lq410/archive/2005/09/02/11821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lq410/comments/commentRss/11821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lq410/services/trackbacks/11821.html</trackback:ping><description><![CDATA[Ant 是Java平台下非常棒的批处理命令执行程序，能自动完成编译，测试，打包，部署等等一系列任务。 
<P>　　Ant是Java平台下非常棒的批处理命令执行程序，能非常方便地自动完成编译，测试，打包，部署等等一系列任务，大大提高开发效率。如果你现在还没有开始使用Ant，那就要赶快开始学习使用，使自己的开发水平上一个新台阶。</P>
<P>　　Eclipse 中已经集成了Ant，我们可以直接在Eclipse中运行Ant。</P>
<P>　　以前面建立的Hello工程为例，创建以下目录结构：</P>
<P align=center><IMG height=315 alt="" src="http://www.kissjava.com/doc/ev_tools/tools/images/h000/h25/img200508072137440.jpg" width=236></P>
<P>　　新建一个build.xml，放在工程根目录下。build.xml定义了Ant要执行的批处理命令。虽然Ant也可以使用其它文件名，但是遵循标准能更使开发更规范，同时易于与别人交流。</P>
<P>　　通常，src存放Java源文件，classes存放编译后的class文件，lib存放编译和运行用到的所有jar文件，web存放JSP等web文件，dist存放打包后的jar文件，doc存放API文档。</P>
<P>　　然后在根目录下创建build.xml文件，输入以下内容： </P>
<P style="BACKGROUND: #eeeeee">&lt;xml version="1.0"?&gt;<BR>&lt;roject name="Hello world" default="doc"&gt;<BR><BR>&lt;-- properies --&gt;<BR>&lt;roperty name="src.dir" value="src" /&gt;<BR>&lt;roperty name="report.dir" value="report" /&gt;<BR>&lt;roperty name="classes.dir" value="classes" /&gt;<BR>&lt;roperty name="lib.dir" value="lib" /&gt;<BR>&lt;roperty name="dist.dir" value="dist" /&gt;<BR>&lt;roperty name="doc.dir" value="doc"/&gt;<BR><BR>&lt;-- 定义classpath --&gt;<BR>&lt;ath id="master-classpath"&gt;<BR>&lt;ileset file="${lib.dir}/*.jar" /&gt;<BR>&lt;athelement path="${classes.dir}"/&gt;<BR>&lt;path&gt;<BR><BR>&lt;-- 初始化任务 --&gt;<BR>&lt;arget name="init"&gt;<BR>&lt;target&gt;<BR><BR>&lt;-- 编译 --&gt;<BR>&lt;arget name="compile" depends="init" description="compile the source files"&gt;<BR>&lt;kdir dir="${classes.dir}"/&gt;<BR>&lt;avac srcdir="${src.dir}" destdir="${classes.dir}" target="1.4"&gt;<BR>&lt;lasspath refid="master-classpath"/&gt;<BR>&lt;javac&gt;<BR>&lt;target&gt;<BR><BR>&lt;-- 测试 --&gt;<BR>&lt;arget name="test" depends="compile" description="run junit test"&gt;<BR>&lt;kdir dir="${report.dir}"/&gt;<BR>&lt;unit printsummary="on"<BR>haltonfailure="false"<BR>failureproperty="tests.failed"<BR>showoutput="true"&gt;<BR>&lt;lasspath refid="master-classpath" /&gt;<BR>&lt;ormatter type="plain"/&gt;<BR>&lt;atchtest todir="${report.dir}"&gt;<BR>&lt;ileset dir="${classes.dir}"&gt;<BR>&lt;nclude name="**/*Test.*"/&gt;<BR>&lt;fileset&gt;<BR>&lt;batchtest&gt;<BR>&lt;junit&gt;<BR>&lt;ail if="tests.failed"&gt;<BR>***********************************************************<BR>**** One or more tests failed! Check the output ... ****<BR>***********************************************************<BR>&lt;fail&gt;<BR>&lt;target&gt;<BR><BR>&lt;-- 打包成jar --&gt;<BR>&lt;arget name="pack" depends="test" description="make .jar file"&gt;<BR>&lt;kdir dir="${dist.dir}" /&gt;<BR>&lt;ar destfile="${dist.dir}/hello.jar" basedir="${classes.dir}"&gt;<BR>&lt;xclude name="**/*Test.*" /&gt;<BR>&lt;xclude name="**/Test*.*" /&gt;<BR>&lt;jar&gt;<BR>&lt;target&gt;<BR><BR>&lt;-- 输出api文档 --&gt;<BR>&lt;arget name="doc" depends="pack" description="create api doc"&gt;<BR>&lt;kdir dir="${doc.dir}" /&gt;<BR>&lt;avadoc destdir="${doc.dir}"<BR>author="true"<BR>version="true"<BR>use="true"<BR>windowtitle="Test API"&gt;<BR>&lt;ackageset dir="${src.dir}" defaultexcludes="yes"&gt;<BR>&lt;nclude name="example/**" /&gt;<BR>&lt;packageset&gt;<BR>&lt;octitle&gt;[CDATA[&lt;1&gt;ello, test&lt;h1&gt;]&gt;doctitle&gt;<BR>&lt;ottom&gt;[CDATA[&lt;&gt;ll Rights Reserved.&lt;i&gt;]&gt;bottom&gt;<BR>&lt;ag name="todo" scope="all" description="To do:" /&gt;<BR>&lt;javadoc&gt;<BR>&lt;target&gt;<BR>&lt;project&gt;</P>
<P>　　以上xml依次定义了init（初始化），compile（编译），test（测试），doc（生成文档），pack（打包）任务，可以作为模板。</P>
<P>　　选中Hello工程，然后选择“Project”，“Properties”，“Builders”，“New…”，选择“Ant Build”：</P>
<P align=center><IMG height=546 alt="" src="http://www.kissjava.com/doc/ev_tools/tools/images/h000/h25/img200508072137501.jpg" width=604></P>
<P>　　填入Name：Ant_Builder；Buildfile：build.xml；Base Directory：${workspace_loc:/Hello}（按“Browse Workspace”选择工程根目录），由于用到了junit.jar包，搜索Eclipse目录，找到junit.jar，把它复制到Hello/lib目录下，并添加到Ant的Classpath中：</P>
<P align=center><IMG height=546 alt="" src="http://www.kissjava.com/doc/ev_tools/tools/images/h000/h25/img200508072137512.jpg" width=604></P>
<P>　　然后在Builder面板中钩上Ant_Build，去掉Java Builder：</P>
<P align=center><IMG height=283 alt="" src="http://www.kissjava.com/doc/ev_tools/tools/images/h000/h25/img200508072137573.jpg" width=459></P>
<P>　　再次编译，即可在控制台看到Ant的输出：</P>
<P style="BACKGROUND: #eeeeee">Buildfile: F:\eclipse-projects\Hello\build.xml<BR><BR>init:<BR><BR>compile:<BR>[mkdir] Created dir: F:\eclipse-projects\Hello\classes<BR>[javac] Compiling 2 source files to F:\eclipse-projects\Hello\classes<BR><BR>test:<BR>[mkdir] Created dir: F:\eclipse-projects\Hello\report<BR>[junit] Running example.HelloTest<BR>[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.02 sec<BR><BR>pack:<BR>[mkdir] Created dir: F:\eclipse-projects\Hello\dist<BR>[jar] Building jar: F:\eclipse-projects\Hello\dist\hello.jar<BR><BR>doc:<BR>[mkdir] Created dir: F:\eclipse-projects\Hello\doc<BR>[javadoc] Generating Javadoc<BR>[javadoc] Javadoc execution<BR>[javadoc] Loading source files for package example...<BR>[javadoc] Constructing Javadoc information...<BR>[javadoc] Standard Doclet version 1.4.2_04<BR>[javadoc] Building tree for all the packages and classes...<BR>[javadoc] Building index for all the packages and classes...<BR>[javadoc] Building index for all classes...<BR>[javadoc] Generating F:\eclipse-projects\Hello\doc\stylesheet.css...<BR>[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.<BR>[javadoc] Note: Custom tags that were not seen: @todo<BR>BUILD SUCCESSFUL<BR>Total time: 11 seconds </P>
<P>　　Ant依次执行初始化，编译，测试，打包，生成API文档一系列任务，极大地提高了开发效率。将来开发J2EE项目时，还可加入部署等任务。并且，即使脱离了Eclipse环境，只要正确安装了Ant，配置好环境变量ANT_HOME=&lt;nt解压目录&gt;Path=…;%ANT_HOME%\bin，在命令行提示符下切换到Hello目录，简单地键入ant即可。</P><img src ="http://www.blogjava.net/lq410/aggbug/11821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lq410/" target="_blank">扑扑</a> 2005-09-02 11:13 <a href="http://www.blogjava.net/lq410/archive/2005/09/02/11821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>