﻿<?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-java fans-随笔分类-Ant学习</title><link>http://www.blogjava.net/jlin/category/54507.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 27 Aug 2014 15:00:23 GMT</lastBuildDate><pubDate>Wed, 27 Aug 2014 15:00:23 GMT</pubDate><ttl>60</ttl><item><title>用Ant编译Java Web程序(转)</title><link>http://www.blogjava.net/jlin/archive/2014/08/27/417417.html</link><dc:creator>fly</dc:creator><author>fly</author><pubDate>Wed, 27 Aug 2014 14:34:00 GMT</pubDate><guid>http://www.blogjava.net/jlin/archive/2014/08/27/417417.html</guid><wfw:comment>http://www.blogjava.net/jlin/comments/417417.html</wfw:comment><comments>http://www.blogjava.net/jlin/archive/2014/08/27/417417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jlin/comments/commentRss/417417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jlin/services/trackbacks/417417.html</trackback:ping><description><![CDATA[<div style="margin: 5px 0px; font-size: 20px; line-height: 30px; font-family: 'Microsoft YaHei'; background-color: #ffffff;">&nbsp;<h1><a href="http://blog.csdn.net/xiaoyao6650/article/details/4029946" style="color: #000000; text-decoration: none;">用Ant编译Java Web程序</a></h1></div><div style="padding-top: 5px; padding-bottom: 5px; color: #999999; font-size: 12px; line-height: 24px; font-family: Arial; text-align: right; background-color: #ffffff;"><span style="margin: 0px 5px; float: left;">分类：&nbsp;<a href="http://blog.csdn.net/xiaoyao6650/article/category/429357" style="color: #336699; text-decoration: none;">J2EE</a></span><span style="margin: 0px 5px 0px 0px;">2009-03-27 15:14</span>&nbsp;<span title="阅读次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_view.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">1930人阅读</span>&nbsp;<span title="评论次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_comm.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;"><a href="http://blog.csdn.net/xiaoyao6650/article/details/4029946#comments" style="color: #336699; text-decoration: none;">评论</a>(0)</span>&nbsp;<span style="margin: 0px 5px;"><a title="收藏" style="color: #336699;">收藏</a></span>&nbsp;<span style="margin: 0px 5px;"><a href="http://blog.csdn.net/xiaoyao6650/article/details/4029946#report" title="举报" style="color: #336699; text-decoration: none;">举报</a></span></div><div style="margin: 10px 0px; color: #333333; font-family: Arial, Console, Verdana, 'Courier New'; font-size: 12px; line-height: normal; background-color: #ffffff;"><a href="http://www.csdn.net/tag/ant" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">ant</a><a href="http://www.csdn.net/tag/java" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">java</a><a href="http://www.csdn.net/tag/web" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">web</a><a href="http://www.csdn.net/tag/class" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">class</a><a href="http://www.csdn.net/tag/include" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">include</a><a href="http://www.csdn.net/tag/delete" target="_blank" style="color: #336699; text-decoration: none; display: inline-block; padding: 4px 10px; line-height: 12px; margin-right: 10px; border: 1px solid #eeeeee; background-color: #eeeeee; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px;">delete</a></div><div id="article_content" style="margin: 20px 0px 0px; line-height: 26px; font-family: Arial; color: #333333; background-color: #ffffff;"><p>先看一下项目的目录结构：<br /><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/xiaoyao6650/EntryImages/20090327/t4q2xx2e.png" alt="" width="374" height="328" style="border: none; max-width: 100%;" /></p><p>source目录里放Java源程序，classes目录里放编译好的class文件。这两个目录里的文件都要按包结构组织好。当然，classes目录也可以不必事先建立，这可以交给Ant去做。以下是我写的build.xml，放在Hello目录下：</p><p>&nbsp;</p><div style="padding-left: 45px; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"><div style="padding: 3px 8px 10px 10px; font-size: 9px; line-height: normal; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: silver; background-color: #f8f8f8; border-left-width: 3px; border-left-style: solid; border-left-color: #6ce26c;"><strong>[xhtml]</strong>&nbsp;<a href="http://blog.csdn.net/xiaoyao6650/article/details/4029946#" title="view plain" style="color: #a0a0a0; text-decoration: none; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-color: inherit; border: none; padding: 1px; margin: 0px 10px 0px 0px; font-size: 9px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-position: 0% 0%; background-repeat: no-repeat no-repeat;">view plain</a><a href="http://blog.csdn.net/xiaoyao6650/article/details/4029946#" title="copy" style="color: #a0a0a0; text-decoration: none; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-color: inherit; border: none; padding: 1px; margin: 0px 10px 0px 0px; font-size: 9px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-position: 0% 0%; background-repeat: no-repeat no-repeat;">copy</a><div style="position: absolute; left: 524px; top: 877px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1" style="padding: 0px; border: none; list-style-position: initial; list-style-image: initial; color: #5c5c5c; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; margin: 0px 0px 1px 45px !important;"><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;?</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">xml</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">version</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"1.0"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">encoding</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"UTF-8"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">?&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">project</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"hello"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">default</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"compile"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">basedir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"."</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">property</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"tomcat.lib"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">value</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"/home/albert/Applications/apache-tomcat-5.5.26/common/lib"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">property</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"dest.dir"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">value</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"WEB-INF/classes"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">property</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"src.dir"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">value</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"source"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"init"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">mkdir</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">dir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"${dest.dir}"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"compile"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">depends</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"init"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">javac</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">srcdir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"${src.dir}"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">destdir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"${dest.dir}"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">classpath</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">fileset</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">dir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"${tomcat.lib}"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">include</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"*.jar"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">fileset</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">fileset</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">dir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"WEB-INF/lib"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">include</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"*.jar"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">fileset</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">classpath</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">javac</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">name</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"clean"</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">delete</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: red; background-color: inherit;">dir</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">=</span><span style="margin: 0px; padding: 0px; border: none; color: blue; background-color: inherit;">"${dest.dir}"</span>&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">/&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">target</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li><li style="border-style: none none none solid; border-left-width: 3px; border-left-color: #6ce26c; list-style: decimal-leading-zero outside; background-color: #f8f8f8; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&lt;/</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">project</span><span style="margin: 0px; padding: 0px; border: none; color: #993300; background-color: inherit; font-weight: bold;">&gt;</span><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">&nbsp;&nbsp;</span></span></li></ol><div bg_xhtml"="" style="width: 700.90625px;"><div></div><div></div><div style="position: absolute; left: 524px; top: 877px; width: 18px; height: 18px; z-index: 99;"></div></div><p>&nbsp;</p><p>在Ant的构建文件build.xml中，最重要的是target（目标）。一个build.xml往往包含了多个target，定义了一个软件项目的构建过程以及每步之间的依赖关系。例如对于这个项目来说，&#8220;编译&#8221;必须要在创建完classes目录后才能进行。此外，在进行编译时，ant还会比较源文件和对应的class文件的时间戳，以此来判断源文件在上次编译后是否被更新，是否需要重新编译。知道了这些，就可以大体说下各项的含义了。</p><p>最外层的project元素定义了项目的名称（name），默认构建目标（default）和构建的基本目录（basedir，当前目录 &#8220;.&#8221;）。basedir即设定文件中的相对路径是相对于谁而言的。接下来有一些property元素，你可以把它们当成一些变量的定义，这是为了接下来引用的方便。</p><p>然后定义了三个target元素。第一个target的名字是init。名字的作用是：如果你想执行某个target的任务，只需在命令行下执行 ant 即可。如果省略了，ant会执行在project元素中定义的默认目标。在里面用mkdir定义了一个任务，即创建classes目录。这里引用了刚才定义的property，注意引用property的写法：&#8221;${dest.dir}&#8221;。</p><p>第二个是compile目标。depends=&#8221;init&#8221;说明它依赖于init。即当Ant发现init目录没有完成时（classes目录还没有创建时），Ant会先执行init目标。compile目标里面用javac元素描述了编译任务。srcdir和destdir分别指定了源文件的目录和编译后class文件的目录。尽管因为包结构的原因，source目录下还有子目录，但Ant会把source目录下的所有Java源文件进行编译，并且在classes目录下建立相应的包结构目录，把所有的class文件放在正确的位置上。所有这一切都只是用这两个参数来描述的。再往里是 classpath元素，用来设定编译时的classpath，以便引用servlet-api.jar和struts库里的类。我偷了个懶，把所有的 jar文件都包含进来了。用的是fileset，指定好目录和要包含的文件名（可以有通配符）就行了。</p><p>最后一个target clean是清除编译生成的文件，用delete元素来完成。这样当在命令行下执行ant clean后，classes目录就被删除了。</p><p>把这个build.xml放在项目目录Hello中，以后只要在Hello目录下执行ant，就会自动把所有需要编译的文件编译好后放在classes目录里了，非常方便。<br />others<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;project name="hello" default="compile" basedir="."&gt;</p><div>&nbsp; &nbsp; &lt;property name="project.lib" value="WebRoot/WEB-INF/lib" /&gt;</div><div>&nbsp; &nbsp; &lt;property name="tomcat.lib" value="D:/apache-tomcat-6.0.35/lib" /&gt;</div><div>&nbsp; &nbsp; &lt;property name="dest.dir" value="WebRoot/WEB-INF/classes" /&gt;</div><div>&nbsp; &nbsp; &lt;property name="src.dir" value="src" /&gt;</div><div>&nbsp; &nbsp; &lt;target name="init"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;mkdir dir="${dest.dir}" /&gt;</div><div>&nbsp; &nbsp; &lt;/target&gt;</div><div>&nbsp; &nbsp; &lt;target name="compile" depends="init"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;javac srcdir="${src.dir}" destdir="${dest.dir}" includeAntRuntime="false" &nbsp;encoding="UTF-8"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;classpath&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;fileset dir="${project.lib}"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;include name="*.jar" /&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/fileset&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;fileset dir="${tomcat.lib}"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;include name="*.jar" /&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/fileset&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/classpath&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;/javac&gt;</div><div>&nbsp; &nbsp; &lt;/target&gt;</div><div>&nbsp; &nbsp; &lt;target name="clean"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;delete dir="${dest.dir}" /&gt;</div><div>&nbsp; &nbsp; &lt;/target&gt;</div><div>&lt;/project&gt;</div></div><img src ="http://www.blogjava.net/jlin/aggbug/417417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jlin/" target="_blank">fly</a> 2014-08-27 22:34 <a href="http://www.blogjava.net/jlin/archive/2014/08/27/417417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>