• ÇÁ¸®Ä«¿îÅÍ
  • Ç÷¡½ÃºÏ
  • ÇÁ¸®º¸µå
  • Àü±¤ÆÇ
  • À¥°øºÎ¹æ
  • Ä¿¹Â´ÏƼ
Ant ÀÇ »ç¿ë¿ë·Ê¿Í »ç¿ë¹ý 2008.06.22 21:15
±Û¾´ÀÌ : ¿î¿µÀÚ Á¶È¸ : 530 Ãßõ : 0
How to use Ant
Ant ÀÇ »ç¿ë¿ë·Ê¿Í »ç¿ë¹ý
 
Table Contents
    
           2-1. Ant ´Ù¿î·Îµå
           2-2. Ant ¼³Ä¡
           2-3. Ant Áغñ
 
 
    
     5. ºÎ·Ï à ÀÌ°Ô ÇÙ½ÉÀÏ °Í °°À½.. ¤Ñ¤Ñ;
 
ܪ) Àú´Â ±¹¾î¼±»ý´Ôµµ ¾Æ´Ï¸ç ´õ±º´Ù³ª ±¹¾î¸¦ ÁöÅ°°í ¾Æ²¸¾ß ÇÏ´Â Àǹ«°¨À¸·Î ¹«ÀåµÈ »ç¶÷µµ ¾Æ´Õ´Ï´Ù.
Àü ´ÜÁö À¥¿¡¼­ ³ª°í ÀÚ¶õ »ç¶÷ÀÌ¸ç °íµîÇб³ ±¹¾î ½Ã°£¿¡ ¹è¿î ¾ð¾îÀÇ ÀÚÀǼº°ú »çȸ¼ºÀ» ¹Ï´Â »ç¶÷À̸ç,
¾ðÀÇÀÇ ¿ª»ç¼ºÀ» ±× ¾î´À¶§º¸´Ù ºü¸£°Ô Àý°¨ÇÏ´Â Çö´ë»çȸ¸¦ »ì¾Æ°¡´Â »ç¶÷ÀÏ »ÓÀÔ´Ï´Ù.
±×·¯¹Ç·Î °¡²û »ýÈ°½À°üÀÌ µÇ¾î ¹ö¸° ¾î±¸³ª ¹®¹ýÆı«°¡ º¸ÀÌ´õ¶óµµ ¾çÇظ¦ ºÎŹµå¸³´Ï´Ù.


1. Ant ¶õ ¹«¾ùÀΰ¡?
À¥À» º¸¸é ant À̾߱Ⱑ °ðÀß ³ª¿Â´Ù. ÁÁ´Ù°í´Â Çϴµ¥ ¸Ó°¡ ÁÁÀºÁö.. Á¨Àå!
ÀÌ·± Àú·± Çΰè¿Í ±ÍÂ÷´ÏÁòÀ¸·Î ÀÎÇÏ¿© ¶Ç À̹ٴڿ¡¼­ ÇÑ°ÉÀ½ µÚÃÄÁö³ª º¸´Ù ÇÏ´Â ´ä´äÇÑ °¡½¿¸¸ ¾µ¾î ³»¸±»Ó..
(¹°·Ð ÀÌ·±»óȲÀ» ¿¬ÃâÇÏ´Â °ÍÀº ant»Ó¸¸ÀÌ ¾Æ´ÏÁö¸¸.. ¤Ñ¤Ñ;)
ºô´õ µµ±¸¶ó´Âµ¥ µµ´ëü ¾ó¸¶³ª Æí¸®Çϴٱ淡.. ±×·± »ý°¢ÀÇ ¹Ýº¹»Ó..
°³ÀÎÀûÀ¸·Î Àڱ׸¶ÇÑ framework¸¦ Çϳª ¸¸µé·Á°í Âɹ°µü °Å¸®´Ù, ÄÄÆÈÇÏ´Â°Ô ±ÍÂú¾Æ¼­ Åõ´ú°Å¸®´Âµ¥ ¹®µæ
ºô´õ µµ±¸ ant°¡ »ý°¢³ª À̹ø±âȸ¿¡ ÀÌ³Ñ ÇѳѸ¸ ¸ÕÀú ÆÐ°í °¡ÀÚ¶õ »ý°¢À¸·Î À¥À» µÚÀû°Å·È´Ù.
»ç½Ç ¸¾ Àâ°í ÇÑ³Ñ ÆбⰡ Èûµç ÀÌÀ¯°¡ ÇÑ³Ñ Æаí ÀÖÀ½ À̳ÑÀú³ÑÀÌ ³ªÅ¸³ª ´Ù °øºÎÇØ¾ß ÇÑ´Ù´Â ¾Ð¹Ú ¶§¹®¿¡
³Ê¹« Èûµé¾î..  Á¤¸» À̹ø¸¸Àº ¿·¿¡¼­ ÅÂŬÀ» °É¾î¿Íµµ ÀÌ³Ñ ÇѳѸ¸ ÆÐÀÚ°í µ¶ÇÏ°Ô ´ÙÁüÇß´Ù.
 
Ant °¡ ¾î¶²³ÑÀÎÁö? ÀÌ°Í°¡Áö°í ¹«¾ùÀ» ÇÏÀÚ ´Â°ÇÁö?
±×¸®°í ÇÔ¸¸ µ¹·Áº¸±â¸¦ ¸ñÀûÀ¸·Î ¿¹»ó±â°£À» 5ÀÏ·Î Àâ°í ½ÃÀÛÇß´Ù.
 
±×·¯³ª °á°ú´Â ´Ü 4½Ã°£ ¸¸¿¡ ¼Ò±âÀÇ ¼º°ú¸¦ ´Þ¼ºÇÒ¼ö ÀÖ¾úÀ¸´Ï¡¦¡¦
»ç½Ç ÀÚÄ«¸£Å¸ ¼­¿ï ÇÁ·ÎÁ§Æ®¿¡¼­ ±â¿ô°Å¸®±â¸¸ ÇÏ°í ¾Æ¹«·± ÇØ´äÀ» ãÁö ¸øÇѰ͸¸ 3½Ã°£ 30ºÐ..
´Ù¸¥ °÷¿¡¼­ ãÀº ³»¿ëµéÀ» ÂüÁ¶ÇÏ¸ç °á±¹Àº 30ºÐ¸¸¿¡ »óȲÀÌ Á¾·á µÈ°ÍÀÌ´Ù.
 
¾Æ¹«·¡µÎ ¾ç³ÑµéÀÇ »ç°í ¹æ½Ä¿¡ Àͼ÷ÇÏÁö ¾ÊÀºÁö ¿ì¸®³ª¶ó ±³À°ÀÇ ¹®Á¦¿´´ÂÁö¡¦
±× ¾î¶² ³»¿ëµµ ȸ»óÄÁµ¥..
ÀÚÄ«¸£Å¸ °¡¼­ ¹®¼­ ¾Æ¹«¸® º¸°í Çصµ ÇÊÀÌ ÆÅÆÅ ²ÈÈ÷´Â°Ç ±ØÈ÷ µå¹°¾ú´ø °Í °°´Ù.
¸ðµç ÇØ´äÀº °øÀ¯ÀÇ Á¤½ÅÀ¸·Î ¹«ÀåµÈ À̹ٴÚÀÇ ¸î¸î ¼±ÁöÀÚµéÀÌ À¯Æ÷ÇÑ Âî´Ù½Ãµé¿¡ ÀÖ¾úÀ¸´Ï¡¦.
 
±×·¡¼­ À̹®¼­ ¶ÇÇÑ ³ª¿Í ¶È °°Àº ¿ÕÃʺ¸ÀÌ¸ç ³ª¿Í ¶È °°Àº ±³À°À» ¹Þ°í À̹ٴڿ¡¼­ °í±ººÐÅõ ÇÏ´Â ¼Ò¼ö¸¦ À§ÇØ
Á¦ÀÛÇϱâ·Î ÇÑ´Ù. – ´Ù¼öÀÏÁö ¼Ò¼öÀÏÁö ³ªµµ ¸ð¸¥´Ù. ÇãÁ¢ÀÌÀÎ ³ªÀÇ °üÁ¡¿¡¼­´Â ¾Æ¹«·¡µÎ ¼Ò¼öÀÏ °Í °°´Ù.
 
±×·¡¼­ ÇÔ °øºÎÇغ¸ÀÜ ¸¶À½À¸·Î..
http://jakarta.apache.org¿¡ °¡¼­ ant¸¦ ã¾Æ º¸¾Ò´õ´Ï.. ¾Èº¸ÀδÙ.
ºÐ¸í ¿©±â¼­ º¸¾Ò´Âµ¥.. Çϸ鼭
SubProject¸¦ ã¾Æ ºÁµµ º¸ÀÌÁö°¡ ¾Ê±æ·¡ Ȥ½Ã³ª ÇÏ°í.. http://jakarta.apache.org/ant ¶ó°í Çß´õ´Ï..
http://ant.apache.org/ ·Î Æ÷¿öµù µÇ¸ç ¶Ç ÇϳªÀÇ °Å´ëÇÑ »çÀÌÆ®·Î antÇÁ·ÎÁ§Æ®°¡ ³ªÅ¸³­´Ù.
¡°ant project°¡ ¸Ó±æ·¡ ÀÌ·¸°Ô È¥ÀÚ ³î¾Æ?¡± ¶õ »ý°¢À» ÇÏ´Â ¼ø°£¡¦
 
On November 18, 2002, the Apache board created the Apache Ant top level project. Ant has now
migrated from the Jakarta project into an Apache project of its own. This is primarily an
organizational change and will not affect the technical aspects of the project. Ant retains a strong
association with the Apache Jakarta project. One effect of this change is that the Ant webpage is
now located at http://ant.apache.org/
 
¶ó¸ç¡¦¡¦¡¦ ÈÖȲÂù¶õÇÏ°Ô ¹º°¡¸¦ ¼³¸íÇÏ´Â ±Û±Í°¡ ´ë¶ä º¸¿´´Ù.
´ëÃæ º¸¸é Á¶Á÷°³ÆíµîÀÇ ÀÌÀ¯·Î ÀÌ»ç¿ÔÀ¸¸ç ¾ÆÆÄÄ¡ ÀÚÄ«¸£Å¸¿Í Àß Áö³»°í ÀÖ´Ù´Â °Í °°Àºµ¥ º°ÀÌÀ¯ ¾ø´Â °Í °°´Ù.
 
     Àâ¼³ÀÌ ±æ¾ú´Ù. À§ÀÇ ³»¿ëÀº º¸Áö ¾Ê¾Æµµ µÇ´Â ºÎºÐÀÌ´Ù.
       AntÇÁ·ÎÁ§Æ® »çÀÌÆ®ÀÇ °ÅâÇÏ°í º¹ÀâÇÏ°í ¹«½¼³»¿ëÀÎÁöµµ ¸ð¸¦ ±×·± ³»¿ëÀ» ¾ø¾Ö ¹ö¸®°í
¡°°í±â ³¬´Â ¹ýÀÌ ¾Æ´Ñ °í±â¸¦ ÁÖ±â À§ÇÑ ¹®¼­¡±¸¦ ÁöÇâ Çϵµ·Ï ÇÑ´Ù.
±×·¯¹Ç·Î Ant¶õ ¹«¾ùÀΰ¡ ¾ËÇÊ¿äµµ ¾ø´Ù. ÀÏ´ÜÀº ÄÄÆÈ ½±°Ô Çϵµ·Ï Çϱâ À§Çؼ­ ¾´´Ù´Â°Í¸¸ ¾Ë¾ÆµÎ°í¡¦
ÄÄÆÈÀÌ ÁÖ´Â ±ÍÂ÷´Æ ¾Ð¹ÚÀÌ ¼Ö¼ÖÇѵ¥ À̳ÑÀÌ Âü ½±°í Àç¹ÌÀÖ°Ô ÇØÁØ´Ù. ±×·¡¼­ °³¹ÌÀÎ °Í °°´Ù. ÀÏ´Ü Çغ¸ÀÚ!
 
2-1. Ant´Ù¿î·Îµå
       http://ant.apache.org/bindownload.cgi ¿¡¼­ apache-ant-1.5.2-bin.zip À» ´Ù¿î·Îµå ÇÑ´Ù.
     
       ¼³Ä¡´Â ´Ù¿î·Îµå ¹ÞÀº ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®°í ȯ°æ¸¸ ¼³Á´ÇÏ¸é µÈ´Ù.
´Ù¿î·Îµå ¹ÞÀº ÆÄÀÏÀ» C:WebServiceAnt ¿¡ µÎ±â·Î ÇÏ¿´´Ù.
 
À§ÀÇ ±×¸²À» Âü°í ÇÏ¸é µÇ°í¿ä.. ȯ°æ¼³Á¤À» ÇÕ´Ï´Ù.
 
JAVA_HOME = C:jsdk141
ANT_HOME = C:WebServiceAnt
´ÙÀ½ binÀ» Path¿¡ Àâ´Â´Ù.  PATH = %PATH%;C:WebServiceAntbin; ¼³Ä¡ ³¡.
 
Ãâó : http://jakarta.apache-korea.org/ant/manual/install.html#installing

     1. ÇÁ·ÎÁ§Æ® Æú´õ¸¦ Çϳª ¸¸µéÀÚ. ¼Ò½ºÆÄÀÏÀÌ À§Ä¡ÇÒ src, Ŭ·¡½ºÆÄÀÏÀÌ À§Ä¡ÇÒ classes, ¹èÆ÷ÆÄÀÏÀÌ À§Ä¡ÇÒ jar, ¸¶Áö
          ¸·À¸·Î ¹®¼­ÆÄÀÏÀÌ À§Ä¡ÇÒ docs ÀÌ·¸°Ô 4°³ÀÇ Æú´õ¸¦ Àû´çÇÑ ÇÁ·ÎÁ§Æ® Æú´õ ¹Ø¿¡ »ý¼ºÇÑ´Ù.
 
       2. ´ÙÀ½ src¹Ø¿¡ Å×½ºÆ®ÇÒ Àû´çÇÑ java ÇÁ·Î±×·¥À» ¸¸µé¾î µÐ´Ù.
          ´ÙÀ½Àº test ÇÒ Hello.java ´Ù. Ưº°ÇÑ ÀÌÀ¯¾ø´Ù. ±Ü¾î¼­ Å×½ºÆ® Çغ¸½Ã¶ó°í¡¦ ¤Ñ¤Ñ;
       public class Hello {
        public static void main (String[] args) {
             System.out.println (¡°hello Ant!¡±);
}
    }
 
2-4. Ant ºôµåÆÄÀÏ ¸¸µé±â
     1. Ant ¸¦ ½ÇÇàÇϸé ÇØ´ç µð·ºÅ丮ÀÇ build.xmlÀ» ±âº»ÀûÀ¸·Î ã´Â´Ù. ¹°·Ð build.xml¸»°í mySetting.xmlµîµîÀ¸·Î
       À̸§À» ¸· ÁÙ¼öµµ ÀÖ´Ù. ÀÌ·¸°Ô ÁÖ°í ³ª¸é ant ½ÇÇà½Ã –buildfile À̶õ ¿É¼ÇÀ¸·Î µû·Î È£ÃâÇØ¾ß ÇÑ´Ù.
       Á¤½Å °Ç°­»ó °Á build.xml·Î ½ÇÇà ÇÏ°í ¿É¼Çµé¿¡ ´ëÇؼ­´Â ÀÏ´Ü Çغ¸°í Á¤¸®¸¦ ÇÑ´Ù.
       2. ÀÌ build.xmlÀº ÄÄÆÈ (ºôµå¶ó°íµµ Çϴµ¥¡¦)Çϱâ À§ÇÑ ¿É¼ÇµéÀ̳ª ¿©·¯ ȯ°æµéÀ» ¼³Á¤ÇÏ´Â °÷ÀÌ´Ù.
          ±âÁ¸¿¡ Ŭ·¡½º Æнº Àâ°í ÇÏ´ø°É.. ¿©±â¼­ ´Ù ¼¼ÆÃÇÑ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù.
       3. ´ÙÀ½Àº build.xmlÀÌ´Ù.
<?xml version="1.0"?>
 
<project name="HelloAnt" default="javadoc" basedir="." >
 
 
<property name="src.dir" value="${basedir}/src" />
<property name="classes.dir" value="${basedir}/classes" />
<property name="jar.dir" value="${basedir}/jar" />
<property name="javadoc.dir" value="${basedir}/doc" />
 
<target name="compile" >
   <javac srcdir="${src.dir}" destdir="${classes.dir}" />
</target>
<target name="jar" depends="compile">
   <jar jarfile="${jar.dir}/hello.jar" basedir="${classes.dir}" includes="**/*.class" />
</target>
<target name="javadoc" depends="compile, jar" >
   <javadoc sourcepath="${src.dir}" sourcefiles="${src.dir}/HelloAnt.java"
windowtitle="HelloAnt API" destdir="${javadoc.dir}" />
</target>
 
<target name="clean" >
<delete dir="${jar.dir}/jar/*"/>
<delete dir="${javadoc.dir}/doc/*"/>
</target>
 
</project>
       4. À§ÀÇ xmlÆÄÀÏÀ» Ưº°ÇÏ°Ô °íÄ¥°Ç ¾ø´Ù. À§ÀÇ ³»¿ëµéÀ» ´ëÃæ º¸¸é ÀϽİ߸¸ÀÌ¶óµµ ÀÖ´Â °³¹ßÀںеéÀº ÄÄÆÈ(ºôµå)
          Çϴµ¥ ÇÊ¿äÇÑ ±âº»ÀûÀÎ ³»¿ëÀº °¨°¢À¸·Î ¾Ë¼ö ÀÖÀ» °Í °°´Ù. ÀÏ´Ü µ¹·Áº¸°í ÀÚ¼¼ÇÑ ¿É¼ÇÀ» º¸µµ·Ï ÇÏÀÚ.
       - ¾Æ¹«¸® »ý°¢Çصµ ´«À¸·Î ¡°¾Æ~~! µÇ´Â±¸³ª!¡± ÇÏ°í °á°ú¸¦ º¸Áö ¾Ê°í¼­´Â ¸Ó¸´¼ÓÀÇ ÀDZ¸½ÉÀÌ Áö½Ä½Àµæ¿¡
Àå¾Ö¹°À̶ó´Â Áö·ÐÀ» °¡Á³±â¿¡ ÀÏ´Ü Á·Ã帰í ÆľÇÇÏ´Â ½À°üÀÌ.. ¤Ñ¤Ñ; ±×·¡¼­ ¼öÇй®Á¦ Ç®¶§µµ ´äºÎÅÍ º¸°í
¹®Á¦¸¦ Ç®Áö ¾Ê¾Ò´ø°¡? ^^; Á» ÀÖ°Ô º¸À϶ó°í ¡°±Í³³Àû Áõ¸í¡± À̶ó´Â ¸»µµ ¾ÈµÇ´Â ¼ö½Ä¾î¸¦ °¡²û ¾Ö¿ëÇÑ´Ù.
2-5. Ant ½ÇÇà
1. Commend â¿¡¼­ ÇÁ·ÎÁ§Æ® µð·ºÅ丮¿¡¼­ ant ¶ó°í ½ÇÇàÇÏ¸é µÈ´Ù.
½ÇÇà Çϸé À§¿Í °°ÀÌ ÄÄÆÈÇÏ°í ¹®¼­µµ ¸¸µé°í ¾î¼°í Àú¼°í Çϸ鼭 BUILD SUCCESSFUL À̶ó´Â ¸Þ½ÃÁö°¡ º¸ÀδÙ.
2. ±×¸®°í ÇÁ·ÎÁ§Æ® Æú´õ ¹Ø¿¡ °¡º¸¸é °¢°¢ÀÇ Æú´õ ¹Ø¿¡ ÄÄÆÈÀÌ ¿Ï·áµÈ Ŭ·¡½º ÆÄÀÏ, jarÆÄÀÏ, java doc µéÀÌ »ý°åÀ»
°ÍÀÌ´Ù. ÀÌ°ÍÀÌ ¹Ù·Î ant ÀÌ´Ù.
 
 
 

3. Ant ÆÄÇìÄ¡±â
 
3-1. build.xml ³»¿ë ºÐ¼®
 
<?xml version="1.0"?>
 
 <!—
    name : ÇÁ·ÎÁ§Æ® À̸§ (¾Æ¹«²¨³ª Çصµ µË´Ï´Ù.)
    default : the default target to use when no target is supplied. (Çʼö) à ±Ùµ¥ Àß ¸ð¸£°Ú´Ù.
            ÀÛ¾÷À» ¼öÇàÇÒ target nameÀ» ÁØ´Ù.
javadoc¶ó·Î targetÀ» ÁÖ¾úÀ¸¹Ç·Î depends¿¡ ÀÇÇØ compileÇÏ°í jar¼öÇàÇÏ°í javadoc±îÁö
¼öÇàÀ» ÇÏÁö¸¸ clean±îÁö´Â ¼öÇàÀ» ÇÏÁö ¾Ê´Â´Ù.
±×·¯¹Ç·Î ÄÄÆȸ¸ ÇÏ·Á¸é default=¡±compile¡± ·Î ¼³Á¤ÇØÁÖ¸é µÈ´Ù.
    basedir : ±×³É ÀÛ¾÷ µð·ºÅ丮 ±»ÀÌ À§¿Í °°ÀÌ build.xmlÀÌ parentÆú´õÀ϶§ basedir=¡±.¡± À̶ó°í ÇØÁÙ ÇÊ¿ä ¾ø´Ù.
   
Áï, project ű״ ÀÌ·¸°Ô <project default="javadoc" > »ç¿ëÇÒ¼ö ÀÖ´Ù.
-à
 
<project name="HelloAnt" default="javadoc" basedir="." >
 
 <!—
    ${basedir} : ÇÁ·ÎÁ§Æ®ÀÇ Àý´ë °æ·Î (À§¿¡¼­ basedirÀ» ¼³Á¤¾ÈÇϸé ÇöÀç ÇÁ·ÎÁ§Æ®ÀÇ Àý´ë °æ·Î)
-à
<property name="src.dir" value="${basedir}/src" />
<property name="classes.dir" value="${basedir}/classes" />
<property name="jar.dir" value="${basedir}/jar" />
<property name="javadoc.dir" value="${basedir}/doc" />
 
<!—
     javac : ÄÄÆÄÀÏ
     srcdir : ¼Ò½ºÆÄÀÏÀÇ À§Ä¡
     destdir : ÄÄÆÈµÈ Å¬·¡½ºÆÄÀÏ À§Ä¡
-à
<target name="compile" >
   <javac srcdir="${src.dir}" destdir="${classes.dir}" />
</target>
 
 <!—
     jar : jar ¾ÐÃà
     jarfile : jarÆÄÀÏÀÌ »ý¼ºµÉ °æ·Î¿Í jarÆÄÀÏ À̸§
     basedir : ÄÄÆÄÀÏµÈ ÆÄÀϵéÀÇ À§Ä¡
     includes : ¸ðµç Æú´õ¿¡¼­ Ŭ·¡½º ÆÄÀϸ¸ jar»ý¼º
-à
<target name="jar" depends="compile">
   <jar jarfile="${jar.dir}/hello.jar" basedir="${classes.dir}" includes="**/*.class" />
</target>
 
<!—
     javadoc : javadoc ¼öÇà
     sourcepath : javadocÀ» ¼öÇàÇÒ ¼Ò½ºÆÄÀÏÀÇ À§Ä¡
     sourcefile : ÆÄÀÏÀ̸§
     windowtitle : Á÷Á¢ Çغ¸½Ã±æ¡¦ ^^;
     destdir : ¹®¼­°¡ ÀúÀåµÉ °æ·Î
     ** depends : ÀÇÁ¸¼º?  ÇöÀç Ÿ°ÙÀ» ¼öÇàÇϱâ Àü¿¡ depends¿¡ Á¤ÀÇµÈ Å¸°ÙÀ» Â÷·Ê´ë·Î ¸ÕÀú ¼öÇàÇÑ´Ù.
        Áï compile°ú jar°¡ ¼öÇàÇÑÈÄ javadoc¸¦ ¼öÇàÇÑ´Ù.
-à
<target name="javadoc" depends="compile, jar" >
   <javadoc sourcepath="${src.dir}" sourcefiles="${src.dir}/HelloAnt.java"
windowtitle="HelloAnt API" destdir="${javadoc.dir}" />
</target>
 
<!—
     delete : »èÁ¦
-à
<target name="clean" >
<delete dir="${jar.dir}/jar/*"/>
<delete dir="${javadoc.dir}/doc/*"/>
</target>
</project>
 
3-2. ant ½ÇÇà ¿É¼Ç ¹× ȯ°æº¯¼ö
       ant¸¦ ½ÇÇàÇÒ ¶§ ant ¸¸ Çؼ­ ½ÇÇàÀ» Çß´Ù. ÀÌÁ¦ ant¸¦ ½ÇÇàÇÒ ¶§ À¯¿¬ÇÏ°Ô ÀÌ¿ëÇÒ¼ö ÀÖ´Â ´Ù¾çÇÑ ½ÇÇà ¿É¼ÇÀ» º¸ÀÚ.
      

       Options
              -help : help ¸í·É¾î
             -projecthelp : build.xmlÀÌ Á¸ÀçÇÏ´Â µð·ºÅ丮¿¡¼­ ½ÇÇà
               
              -diagnostics : Çغ¸¸é ¾Ð¹Ú ¤Ñ¤Ñ; ¿©·¯°¡Áö, ¾Æ´Ï ¾ÆÁÖ ¸¹Àº Á¤º¸µéÀ» Ãâ·ÂÇÑ´Ù.
              -quit : ºôµå °úÁ¤À» º¸¿©ÁÖÁö ¾Ê°í ÃÖÁ¾ °á°ú¸¸ Ãâ·Â
              -debug : µð¹ö±× Á¤º¸ Ãâ·Â
              -emacs : Àß ¸ð¸£°ÚÀ½ ¤Ñ¤Ñ;
              -logfile : commend¿¡ Ãâ·ÂµÇ´Â ºôµù °úÁ¤ Á¤º¸¸¦ ÆÄÀÏ·Î ±â·Ï    ex) ant logfile building.log
              -logger, -listener : Àß ¸ð¸£°ÚÀ½. 
ÀÚ¼¼ÇÑ ³»¿ëÀº ¿ä±â·Î --à http://ant.apache.org/manual/listeners.html
              -buildfile : build.xmlÀ» »ç¿ëÇÏÁö ¾Ê°í ´Ù¸¥ ÆÄÀÏ¿¡¼­ ºôµå¸¦ ÇÏ°íÀÚ ÇÒ ¶§
              -D : property °ªÀ» ÀÎÀÚ·Î »ç¿ëÇÒ ¶§ à build.xmlÀ» ÀÌ¿ëÇÏ¿© ´Ù¾çÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù.
              -propertyfile : À§ÀÇ D¿É¼ÇµéÀ» ¼¼Æ®·Î »ç¿ëÇϱâ À§ÇÑ propertyÆÄÀÏÀ» ÀÌ¿ëÇÒ ¶§.
              -inputhandler : Àß ¸ð¸£°ÚÀ½!
ÀÚ¼¼ÇÑ ³»¿ëÀº ¿ä±â·Î --à http://ant.apache.org/manual/inputhandler.html
              -find : ex) ant find build.xml À̶ó°í Çϸé.. ½Ã½ºÅÛ ·çÆ®¿¡¼­ ÂÞ¿í ÈÈÀ¸¸é¼­ build.xmlÀ» ã¾Æ¼­ builidingÇÑ´Ù.
              * Àß ¸ð¸£°ÚÀ½À̶ó µÈ ºÎºÐÀº ½ÇÁ¦·Î »ç¿ë¿ëµµ¿Í »ç¿ë¹ýÀ» ¸ð¸£±â¿¡ À§¿Í °°ÀÌ ±âÀç Çß´Ù.
      
ȯ°æº¯¼ö (Á¤È®ÇÏ°Ô »ç¿ë¹æ¹ýÀ» ¸ð¸§)
       1. JAVACMD - full path of the Java executable.
Use this to invoke a different JVM than JAVA_HOME/bin/java(.exe). ´Ù¸¥ JVM À» »ç¿ëÇÏ°í ÇÒ ¶§.
              2. ANT_OPTS -  command-line arguments that should be passed to the JVM.
For example, you can define system properties or set the maximum Java heap size here.
3. ANT_ARGS - Ant command-line arguments. For example, set ANT_ARGS to point to a different logger,
include a listener, and to include the -find flag. Note: If you include -find in ANT_ARGS, you should
include the name of the build file to find, even if the file is called build.xml.


4. Ŭ·¡½º Æнº ¼³Á¤ ¹× ±âŸ
 
4-1. ÇÁ·ÎÁ§Æ® ȯ°æ ±¸¼º
ÇÁ·ÎÁ§Æ® ȯ°æÀ» ¿¹Á¦·Î ±¸¼ºÇϱ⿡´Â ¸¹Àº Á¦¾àÀÌ µû¸£¹Ç·Î ´ÙÀ½ÀÇ È¯°æÀ» Âü°í ÇÏ¿© °¢ÀÚ¿¡ ¾Ë¸ÂÀº ÇÁ·ÎÁ§Æ® ȯ°æ
¿¡¼­ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇÑ´Ù.
Ant Å×½ºÆ®¸¦ À§ÇÑ ÇÁ·ÎÁ§Æ® ȯ°æÀ» ´ÙÀ½°ú °°ÀÌ ±¸¼ºÇÑ´Ù.
 
¿ì¼± wwwAnt ¹Ø¿¡¼­ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÑ´Ù. ½ÇÁúÀûÀ¸·Î »ç¿ëµÉ ȯ°æÀº WEB-INF Æú´õ°¡ ant ÀÇ ±âº»ÀÛ¾÷ dirÀÌ´Ù.
ÀϹÝÀûÀÎ À¥ ÇÁ·ÎÁ§Æ®ÀÇ ¸ð½ÀÀ» ÇÏ°í ÀÖÀ¸¸ç ±ÍÂ÷´ÏÁòÀ¸·Î ÀÎÇÏ¿© ±×³É ¿Ï·áµÈ ÇÁ·ÎÁ§Æ®Áß¿¡ Çϳª¸¦ °¡Á®¿Â°ÍÀÌ´Ù.
Å×½ºÆ®¸¦ À§ÇÏ¿© ¼­ºí¸´¿£ÁøÀº °í·ÁÇÏÁö ¾Ê°í ÇÊ¿äÇÑ ¸ðµç libarary¸¦ WEB-INFlib ¹Ø¿¡ µÎ¾ú´Ù.
 Áö±Ý ¸ñÀûÀº °³¹ßÆÀ¿¡¼­ °³¹ßÇÑ WEB-INFsrc ¿¡ ÀÖ´Â ¸ðµç ¼Ò½ºÆÄÀϵéÀ» ÄÄÆÈÇÏ°í ÄÄÆÈµÈ classÆÄÀϵéÀº
WEB-INFclasses ¹Ø¿¡ µÑ°ÍÀÌ¸ç ¶ÇÇÑ ¹èÆ÷ ÆÄÀÏ°ú ¹®¼­µéÀ» »ý¼ºÇÒ°ÍÀÌ´Ù.

4-2. build.xml ¸¸µé±â
ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ À§¿Í °°Àº ¿ä±¸¸¦ ºÎÇÕÇϱâ À§ÇÑ build.xmlÆÄÀÏÀ» ¸¸µé±â·Î ÇÑ´Ù.
´ÙÀ½Àº À§ÀÇ ¿ä±¸µéÀ» ¼ö¿ëÇϱâ À§ÇÑ build.xml ÀÌ´Ù.
 
<?xml version="1.0"?>
 
<project name="InRealProjectTest" default="javadoc">
  
<property name="p_src.dir"       value="${basedir}/src"        />
<property name="p_classes.dir" value="${basedir}/classes"  />
<property name="p_jar.dir"        value="${basedir}/jar"         />
<property name="p_javadoc.dir" value="${basedir}/doc"       />
<property name="libRoot"          value="${basedir}/lib"                         />
<property name="tomcatRoot"    value="C:/WebService/Tomcat/common/lib"/>
 
<!—
    »ç¿ëÇÏ´Â ÆÐÅ°Áö°¡ Àִ Ŭ·¡½º °æ·Î ¼³Á¤
-à
<path id="p_classPath">
     <pathelement path="${libRoot}/mm.mysql-2.0.14-bin.jar"/>
     <pathelement path="${libRoot}/junit.jar"                  />
     <pathelement path="${libRoot}/velocity-1.2.jar"        />
     <pathelement path="${libRoot}/velocity-dep-1.2.jar"  />
     <pathelement path="${tomcatRoot}/servlet.jar"              />
     <pathelement path="${tomcatRoot}/tools.jar"           />
     <pathelement path="${tomcatRoot}/activation.jar"           />
     <pathelement path="${tomcatRoot}/mail.jar"            />
</path>
 
<!—
    Ŭ·¡½º Æнº´Â ¾Æ·¡¿Í °°ÀÌ À§¿¡¼­ ¼³Á¤ÇÑ °æ·ÎµéÀ» classpathÀÇ refid°ªÀ¸·Î ¼³Á¤¸¸ Çϸé ÀνÄÇÑ´Ù.
-à
<target name="compile" >
   <javac srcdir="${p_src.dir}" destdir="${p_classes.dir}">
           <classpath refid="p_classPath"/>
   </javac>
</target>
 
<target name="jar" depends="compile">
   <jar jarfile="${p_jar.dir}/webProject.jar" basedir="${p_classes.dir}" includes="**/*.class" />
</target>
 
<!—
    fileset ű׸¦ ÀÌ¿ëÇÏ¿© ¹®¼­È­ÇÒ °æ·Î¿Í ÆÄÀϵéÀ» ¼³Á¤ÇÒ¼ö ÀÖ´Ù.
    *.java´Â filesetÀÇ ·çÆ®¿¡ ÇØ´çÇÏ´Â ¸ðµç JavaÆÄÀÏÀ» ¹®¼­È­ Çϴ°ÍÀ̸ç
    **Àº ±× ¾Æ·¡ÀÇ ¸ðµç ÆÐÅ°Áö³»ÀÇ ¸ðµç ÆÄÀÏÀ» ¹®¼­È­ ÇÑ´Ù´Â °ÍÀÌ´Ù.
    Exclude´Â ¹®¼­È­¿¡¼­ Á¦¿ÜÇÒ °ÍÀÌ´Ù.
-à
<target name="javadoc" depends="compile, jar">
   <javadoc windowtitle="HelloAnt API" destdir="${p_javadoc.dir}">
    <classpath refid="p_classPath"/>
           <fileset dir="${p_src.dir}" defaultexcludes="yes">
                <include name="*.java"  />
                <include name="**" />
                <exclude name="*.xml" />
           </fileset>
     </javadoc>
 
</target>
 
</project>
 
ÀÌ»ó°ú °°ÀÌ Ã³À½ ¸ñÀû¿¡ ºÎÇյǴ build.xmlÆÄÀÏ·Î ÇÁ·ÎÁ§Æ® ÄÄÆÄÀÏ, ¹®¼­È­, jar¾ÐÃà ÆÄÀÏÀ» ¿Ï¼ºÇÏ¿´´Ù.
±×·±µ¥ ÄÄÆÄÀÏ ÇÒ ¶§ °³º°ÀûÀ¸·Î ƯÁ¤ÆÄÀÏ¿¡ ´ëÇÑ ÄÄÆÄÀÏÀ» ÇÏ´Â ÀÏÀÌ ´õ ¸¹´Ù.
¸¶Áö¸·À¸·Î ƯÁ¤ ÆÄÀÏ¿¡ ´ëÇؼ­ ¼±ÅÃÀûÀ¸·Î ÄÄÆÄÀÏÀ» ÇÒ¼ö ÀÖ´Â build.xmlÀ» ÀÛ¼ºÇÏ°í ¸¶Ä¡±â·Î ÇÑ´Ù.
 
4-3. ƯÁ¤ ÆÄÀϸ¸À» À§ÇÑ build.xml ¸¸µé±â
»ç¿ëÀÚ°¡ È£ÃâÇϴ ƯÁ¤ ÆÄÀϸ¸À» ÄÄÆÄÀÏ Çϱâ À§ÇÑ build.xmlÀÌ´Ù.
À§¿¡¼­ ¸¸µé¾îÁø build.xml¿¡¼­ Ãß°¡ÇÏ¿© ÀÛ¾÷ Çϱâ·Î ÇÑ´Ù.
 
<?xml version="1.0"?>
 
<project name="InRealProjectTest" default="javadoc">
 
 
<property name="p_src.dir"         value="${basedir}/src"         />
<property name="p_classes.dir"  value="${basedir}/classes"  />
<property name="p_jar.dir"          value="${basedir}/jar"          />
<property name="p_javadoc.dir"   value="${basedir}/doc"        />
<property name="libRoot"            value="${basedir}/lib"                              />
<property name="tomcatRoot"      value="C:/WebService/Tomcat/common/lib"/>
 
<path id="p_classPath">
       <pathelement path="${libRoot}/mm.mysql-2.0.14-bin.jar"/>
       <pathelement path="${libRoot}/junit.jar"                          />
       <pathelement path="${libRoot}/velocity-1.2.jar"        />
       <pathelement path="${libRoot}/velocity-dep-1.2.jar"  />
       <pathelement path="${tomcatRoot}/servlet.jar"                />
       <pathelement path="${tomcatRoot}/tools.jar"                  />
       <pathelement path="${tomcatRoot}/activation.jar"            />
       <pathelement path="${tomcatRoot}/mail.jar"                   />
</path>
 
<target name="makeClass">
     <javac srcdir="${p_src.dir}" destdir="${p_classes.dir}" includes="**/${file}">
           <classpath refid="p_classPath"/>
     </javac>
</target>
 
<target name="compile" >
   <javac srcdir="${p_src.dir}" destdir="${p_classes.dir}">
              <classpath refid="p_classPath"/>
   </javac>
</target>
 
<target name="jar" depends="compile">
   <jar jarfile="${p_jar.dir}/webProject.jar" basedir="${p_classes.dir}" includes="**/*.class" />
</target>
 
<target name="javadoc" depends="compile, jar">
   <javadoc windowtitle="HelloAnt API" destdir="${p_javadoc.dir}">
    <classpath refid="p_classPath"/>
              <fileset dir="${p_src.dir}" defaultexcludes="yes">
                    <include name="*.java" />
                    <include name="**"      />
                    <exclude name="*.xml"       />
              </fileset>
       </javadoc>
 
</target>
 
</project>
 
À§ÀÇ build.xml¿¡¼­ ÁøÇÏ°Ô Ç¥½ÃµÈ ºÎºÐÀÌ Æ¯Á¤ÇÑ ÆÄÀϸ¸À» ÄÄÆÄÀÏ Çϱâ À§ÇØ Ãß°¡µÈ ºÎºÐÀÌ´Ù.
±âÁ¸ÀÇ ÄÄÆÄÀÏÀ» À§ÇÑ target°ú ´Ù¸¦°Ô ¾ø´Ù.
´ÜÁö Ãß°¡ µÈ °ÍÀº includes="**/${file} ÀÌ´Ù.
 
»ç¿ë¹æ¹ýÀº ant ½ÇÇà½Ã ´ÙÀ½°ú °°ÀÌ ¿É¼ÇÀ» Áִ°ÍÀÌ´Ù.
ant –Dfile=TypeFactory.java makeClass
ant [option] [target] ÀÎ °ÍÀÌ´Ù.
 
4-4. ¸¶Ä¡¸ç
     ÀÌ»ó°ú °°ÀÌ antÀÇ »ç¿ë¹ýÀ» »ìÆì º¸¾Ò´Ù.
       ¼³¸íÀÌ ºÎÁ·ÇÑÁ¡µµ Àֱ⵵ ÇÏÁö¸¸ óÀ½ »ç¿ë¹ýÀÌ º¹ÀâÇØ º¸ÀδÙ.
       À§ÀÇ ¹®¼­´Â antÀÇ »ç¿ë¹ýÀÌ ¾Æ´Ï¶ó ant¸¦ ½±°Ô Á¢±Ù Çϱâ À§ÇØ Á¦ÀÛµÈ ¹®¼­À̸ç 1½Ã°£¸¸ ÅõÀÚÇؼ­ À§¿Í °°Àº
       ±âº»ÀûÀÎ °Íµé¸¸ ¼öÇàÇغ»´Ù¸é ant¸¦ È°¿ëÇÏ¿© ´õ¿í´õ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î Á¢±Ù ÇÒ¼ö ÀÖÀ» °Í °°´Ù.
       À§¿Í °°Àº build.xml¸¸À¸·Îµµ ÃæºÐÈ÷ ¿øÇÏ´Â ÀÛ¾÷À» ÇÒ¼ö ÀÖ°ÚÁö¸¸.
       Ant¿¡¼­ Java¸í·É¾î ½ÇÇà, ÆÄÀÏ copyµî ´õ ´Ù¾çÇÑ ÀÛ¾÷À» ¼öÇàÇÒ¼ö ÀÖ°í antÀÚü ¸¸À¸·Î Àß ¸¸µé¾îÁö app¸¦ ÀÌ¿ë
       ÇÏ¿© ÀڽŸ¸ÀÇ °£´ÜÇÑ °³¹ßÅøÀ̳ª ¹æ¹ý·Ð ±îÁö È®ÀåÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
 


ºÎ·Ï
´Ù ÀÛ¼ºÇÏ°í º¸´Ï ´õ ÁÁÀº ¹®¼­°¡ À־¡¦ ¤Ñ¤Ñ;
»ðÁú ÇÑ°Å °°Àº ±âºÐÀÌ µé¾î¼­ ºÎ²ô·´Áö¸¸.. ±×·¡µµ À§ÀÇ ¼³¸íÀ» ½ÇÇàÇغ¸°í ¾Æ·¡ÀÇ Àß Á¤¸®µÈ ¿É¼ÇÀ» º¸¸é¡¦
±¤¸íÀÌ¡¦ ^^
Apache ANT Guide
¿ä¾à : Apache ANT Guide
ÀÛ¼ºÀÚ : ÃÖÁö¿õ
Article¿ä¾à
¾ÆÆÄÄ¡ ±×·ì¿¡¼­ ³»³õÀº ºô´õÅøÀÎ ant1.4.1¹öÁ¯À» ÀÌ¿ëÇÏ¿© °¢°¢ÀÇ ÅÂ±×¿Í ±×¿¡ ´ëÇÑ ³»¿ëÀ» 
°øºÎÇغ¸µµ·Ï ÇÏÁÒ.. *^^*
ÀÌÅøÀ» ÀÌ¿ëÇÏ¿© java compile¹× ejb-jarÆÄÀÏÀÇ »ý¼º, deploy¹× sqlÆÄÀÏÀÇ Ã³¸®, database¿¡ ´ëÇÑ
Á¢¼ÓÀ» ÅëÇÏ¿© ¸¹Àº ÀϵéÀ» ÇÒ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾îÁ® ÀÖ½À´Ï´Ù.
°¢ »ç¿ë¹ý°ú »ùÇÃÀ» ÅëÇÏ¿© »ç¿ë¹ýÀ» ÀÍÇôº¸µµ·Ï ÇսôÙ
Article ³»¿ë
****************************
*  Ant ½ÃÀÛÇϱ⠠           *
****************************
.ÀνºÅçÇϱâ
- ¾Æ·¡ÀÇ »çÀÌÆ®·ÎºÎÅÍ ´Ù¿î¹Þ´Â´Ù.
               http://jakarta.apache.org/builds/ant/release/v1.4.1/bin/
 
- ±ÇÀå»çÇ× jdk1.2¹öÁ¯ÀÌ»óÀ» ÃßõÇÑ´Ù.
- Windows
 ¼³Ä¡µÈ µð·ºÅ丮°¡ c:ant. ·Î °¡Á¤ÇßÀ»°æ¿ì¿¡
                set ANT_HOME=c:ant
               set JAVA_HOME=c:jdk1.3.1
               set PATH=%PATH%;%ANT_HOME%bin
 ÀÇ È¯°æº¯¼ö¸¦ Àâ¾ÆÁÖµµ·Ï ÇÑ´Ù.
- Unix(bash)
               export ANT_HOME=/usr/local/ant
               export JAVA_HOME=/usr/local/jdk1.3.1
               export PATH=${PATH}:${ANT_HOME}/bin
 
****************************
* Ant ½ÇÇàÇÏ±â              *
****************************
Command-line option 
ant [options] [target [target2 [target3] ...]]
Options:
-help                  print this message
-projecthelp           ÇÁ·ÎÁ§Æ®¿¡ ÇÊ¿äÇÑ µµ¿òÀ» º¸¿©ÁØ´Ù
-version              ÇöÀç ¹öÁ¯Àº º¸¿©ÁØ´Ù
-quiet                 ¾Æ¹«·± Ç¥½Ã¾øÀÌ buildÇÑ´Ù
-verbose               verbose¸ðµå¸¦ ½Ç½ÃÇÑ´Ù.
-debug                 dubuggingÀ» ÇÑ´Ù.
-emacs                 ·Î±ëÁ¤º¸¸¦ ¸¸µé¾î³½´Ù
-logfile file          ÁÖ¾îÁø ÆÄÀÏ·Î ·Î±×¸¦ Ãâ·ÂÇÑ´Ù.
-logger classname      ÇØ´çŬ·¡½º¸¦ ÀÌ¿ëÇÏ¿© ·Î±ëÀ» ¼öÇàÇÑ´Ù.
-listener classname    ¸®½º³ÊŬ·¡½º¸¦ Ãß°¡ÇÑ´Ù.
-buildfile file        ´ë»ó buildÆÄÀÏÀ» Á¤ÀÇÇÑ´Ù.
-find file             ·çÆ®·ÎºÎÅÍ buildfileÀ» ã´Â´Ù.
-Dproperty=value       build¼³Á¤¿¡ ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ¸¦ ã´Â´Ù.
ant¸¦ batchÆÄÀÏ ¾øÀÌ Á÷Á¢ ½ÇÇàÇÏ°í ½Í´Ù¸é ¾Æ·¡¿Í °°Àº ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© ½ÇÇàÇÏ¸é µÈ´Ù
java -Dant.home=c:ant org.apache.tools.ant.Main [options] [target]
*************************************
* SimpleBuildÆÄÀÏ ¸¸µé¾îº¸±â          *
*************************************
»óÀ§ tagºÎÅÍ ¼Ò°³ÇÑ´Ù.
<project name="" default="" basedir=""></project>
name -- ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ¼³Á¤À̸§À» ±â·ÏÇÑ´Ù.( ¾È½áµÎ ¹«¹æ )
default -- targetÀÌ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ»¶§ default targetÀ¸·Î ¾´´Ù. (¹Ýµå½Ã ±â¼ú)
basedir -- ÇöÀç build¸¦ »ç¿ëÇÒ µð·ºÅ丮¸¦ ¼³Á¤ÇÑ´Ù. º¸Åë ÇöÀçµð·ºÅ丮¸¦ ¸¹ÀÌ »ç¿ëÇÑ´Ù.(¾È½áµÎ µÊ)
================================================================
<target></target>
ÇöÀç buildµÇ´Â targetÀº ´Ù¸¥ target¿¡ ÀÇÁ¸ÇÏ¿© buildµÇ¾îÁú¼ö ÀÖ´Ù. 
±×·²°æ¿ì¿¡ ÀÌ tag¸¦ ÀÌ¿ëÇÏ¿© buildÇϵµ·Ï ÇÑ´Ù.
               <target name="A"/> -- ÇöÀç buildµÇ¾îÁø´Ù.
               <target name="B" depends="A"/> -- A°¡ Á¤»óÀûÀ¸·Î ÀÌ·ç¾îÁ®¾ß¸¸ BÀÇ build°¡ ÀÌ·ç¾îÁø´Ù.
               <target name="C" depends="B"/>  -- À§¿Í °°Àº ¹æ¹ýÀ¸·Î recursiveÇÏ°Ô ÀÌ·ç¾îÁø´Ù.
               <target name="D" depends="C,B,A"/>
ÀÌÇØ°¡ ±Ý¹æ µÇ¸®¶ó º»´Ù.
¿©±â¼­ Á¶ÇÕÀ¸·Î if-unless¸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù.
1: <target name="build-module-A" if="module-A-present"/>
2: <target name="build-own-fake-module-A" unless="module-A-present"/>
À§ÀÇ ³»¿ë¿¡¼­ module-A-present¿¡ µû¶ó¼­ µÎ°¡Áö ÇüÅ·ΠºÐ±âµÇ¸é ¹Ýµå½Ã ÇÑ°¡Áö´Â ½ÇÇàµÇ¾îÁö´Â
¸ð½ÀÀ» º¼¼ö ÀÖ´Ù. module-A-present°¡ ¼º°øÇßÀ»°æ¿ì 1¹øÀ» ¼öÇàÇÏ°í, ½ÇÆÐÇßÀ»°æ¿ì´Â 2¹øÀ¸·Î
ºÐ±âµÇ¾î¼­ ½ÇÇàµÉ¼ö ÀÖµµ·Ï ÇÑ´Ù.
targetÀº ´ÙÀ½°ú °°Àº ¼Ó¼ºÀ» °®´Â´Ù.
name -- targetÀÇ À̸§.(¹Ýµå½Ã ±â¼úÇÏ¿©¾ß ÇÔ) 
depends -- ÄÞ¸¶(,)·Î ±¸ºÐÇÏ¸ç ´Ù¸¥ target¿¡ ¿µÇâÀ» ¹ÞÀ¸¸ç buildµÇ¾îÁø´Ù.(¾È½áµÎ µÊ)
if -- ÇöÀç targetÀÌ ½ÇÇàµÉ°ÍÀÎÁö¸¦ °áÁ¤(¾È½áµÎ µÊ)
unless -- unlessÀÇ targetÀÌ ½ÇÆÐÇßÀ»°æ¿ì 󸮵Ǵ ºÎºÐ(¾È½áµÎ µÊ)
description -- description(¾È½áµÎ µÊ)
 
*************************************
*  PropertiesÀÇ »ç¿ë                  *
*************************************
<property name="foo.dist" value="dist"/>
dist¶õ value¸¦ foo.dist·Î settingÇÑ´Ù.
 
<property file="foo.properties"/>
foo.propertiesÆÄÀÏÀ» Àоîµé¿© build.xmlÆÄÀÏÀÇ ÇÁ·ÎÆÛƼ·Î ¼¼ÆÃÇÑ´Ù.
 
<property resource="foo.properties"/>
 
<property file="${user.home}/.ant-global.properties"/>
¼Ó¼ºÀ» °ãÃļ­ ÇÁ·ÎÆÛƼ ÆÄÀÏÀ» ÀоîµéÀϼöµµ ÀÖ´Ù.               
 
*************************************
* Path-LinkÀÇ »ç¿ë                   *
*************************************
<classpath>
      <pathelement path="${classpath}"/>
      <pathelement location="lib/helper.jar"/>
</classpath>
Ŭ·¡½ºÆнº¸µÅ©¸¦ »ç¿ëÇÏ¿© path ¶Ç´Â classpath¸¦ Ãß°¡½Ãų¼ö ÀÖ´Ù.
Æнº¸¦ °è¼ÓÀûÀ¸·Î Ãß°¡ÇÏ°íÀÚ ÇÒ¶§´Â ; or :¸¦ ÀÌ¿ëÇÏ¿© Ãß°¡ÇÒ¼ö ÀÖ´Ù.
À§ÀÇ ³»¿ëÀ» ¾Æ·¡¿Í °°ÀÌ ¿ä¾àÇÏ¿© ÇÑÁÙ¿¡ Ãß°¡½Ãų¼ö ÀÖ´Ù.
<classpath path="${classpath}"/>
 
*************************************
*   ReferencingÇÏ±â                 *
*************************************
<project ... >
  <target ... >
    <rmic ...>
      <classpath>
        <pathelement location="lib/"/>
        <pathelement path="${java.class.path}/"/>
        <pathelement path="${additional.path}"/>
      </classpath>
    </rmic>
  </target>
 
 <!-- =====À§ÀÇ ³»¿ëÀº rmic¸¦ ÀÌ¿ëÇÏ¿© Ŭ·¡½ºÆнº¸¦ ÀÌ¿ëÇÑ ÄÄÆÄÀÏÀ» ½ÃµµÇϱâ À§ÇÑ ½ºÅ©¸³Æ®ÀÌ´Ù -->
 
  <target ... >
    <javac ...>
      <classpath>
        <pathelement location="lib/"/>
        <pathelement path="${java.class.path}/"/>
        <pathelement path="${additional.path}"/>
      </classpath>
    </javac>
  </target>
 
   <!-- =====À§ÀÇ ³»¿ëÀº javac¸¦ ÀÌ¿ëÇÏ¿© Ŭ·¡½ºÆнº¸¦ ÀÌ¿ëÇÑ ÄÄÆÄÀÏÀ» ½ÃµµÇϱâ À§ÇÑ ½ºÅ©¸³Æ®ÀÌ´Ù -->
</project>
 
À§ÀÇ »ùÇÿ¡¼­´Â ºÒÇÊ¿äÇÑ classpath°¡ °è¼Ó ¾²¿©Áö°í ÀÖ´Ù. 
¾ÈÁÁÀº ¹æ¹ýÀ̹ǷΠ¾Æ·¡¿Í°°ÀÌ ´Ù½Ã ¾µ¼ö ÀÖ´Ù.
<project ... >
  <path id="project.class.path">  
	<----- path-id¸¦ ÁöÁ¤Çسõ°í¼­ ¾Æ·¡ÂÊ¿¡¼­ Æнº¸¦ ÂüÁ¶Çϵµ·Ï ÇÑ´Ù.
    <pathelement location="lib/"/>
    <pathelement path="${java.class.path}/"/>
    <pathelement path="${additional.path}"/>
  </path>
  <target ... >
    <rmic ...>
      <classpath refid="project.class.path"/> 
	 <--- À§ÀÇ ref-id·Î ¼³Á¤ÇØ ³õÀº Æнº¸¦ ÂüÁ¶ÇÏ¿© »ç¿ëÇϵµ·Ï ÇÑ´Ù.
    </rmic>
  </target>
 
  <target ... >
    <javac ...>
      <classpath refid="project.class.path"/>
    </javac>
  </target>
</project>
 
*************************************
*   Sample¿¹Á¦                      *
*************************************
 
--ÇöÀç µð·ºÅ丮 ±¸¼ºÀ» º¸µµ·Ï ÇÏÀÚ.
               WeblogicBuildTest/
               WeblogicBuildTest/src
               WeblogicBuildTest/src/Echo.java
               WeblogicBuildTest/src/EchoHome.java
               WeblogicBuildTest/src/EchoEJB.java
               WeblogicBuildTest/src/EchoClient.java
 
--¾Æ·¡ÀÇ ³»¿ëÀ» ÀÌ¿ëÇÏ¿© weblogicaux.jar¸¦ ÀÌ¿ëÇÏ¿© build¸¦ ½ÃµµÇÑ´Ù.
-- ÄÄÆÄÀÏ¿¡ ¼º°øÇϸé ÇöÀç Ŭ·¡½ºÆÄÀϵéÀ» ÀÌ¿ëÇÏ¿© MyProject-ÇöÀ糯¥.jarÆÄÀÏ·Î ¹­´Â´Ù
 
µµ½º¸í·É : ant -Dweblogic.classpath=c:weblogiclibweblogicaux.jar
<project name="MyProject" default="dist" basedir=".">
  <!-- set global properties for this build -->
  <property name="src" value="src"/>
  <property name="build" value="build"/>
  <property name="dist"  value="dist"/>
  <property name="weblogicaux.jar"   value="${weblogic.home}/lib/weblogicaux.jar" />
  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <mkdir dir="${build}"/>
  </target>
  <target name="compile" depends="init">
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}"
               classpath="${weblogic.classpath}:${build}"
    />
  </target>
  <target name="dist" depends="compile">
    <!-- Create the distribution directory -->
    <mkdir dir="${dist}/lib"/>
    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
    <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
  </target>
  <target name="clean">
    <!-- Delete the ${build} and ${dist} directory trees -->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>
==================================================
==================================================
Directory Base Tasks
==================================================
==================================================
1. Patterns
exclusion°ú inclusion¿¡ ´ëÇÑ ÆÐÅÏÀ» Á¤ÀÇ ÇÒ¼ö ÀÖÀ¸¸ç, ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â
wild card *, ?¸¦ ÀÌ¿ëÇÏ¿© Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
¿¹¸¦ µé¸é
               *.java  ´Â  .javaÀÇ È®ÀåÀÚ¸¦ °¡Áø ¸ðµç ÆÄÀÏÀ» Ç¥ÇöÇÑ´Ù.
                                x.java, FooBar.java µîµî
 
*´Â ÆÄÀÏ¿¡ ´ëÇÑ ³»¿ëÀ» º¸¿©ÁÖ°íÀÚ ÇÒ¶§ »ç¿ëÇÏ´Â ÆÐÅÏÀ̸ç
**´Â µð·ºÅ丮ÀÇ À̸§À» ÀÌ¿ëÇÏ¿© Ç¥ÇöÇÒ¼ö ÀÖ°Ô²û ¸¸µå´Â È®ÀåÀÚ À̸§ÀÌ´Ù.
¶ÇÇÑ 0°³ ÀÌ»óÀÇ µð·ºÅ丮¸¦ Ç¥ÇöÇÏ°íÀÚ ÇÒ¶§ ÀÌÆÐÅÏÀ» »ç¿ëÇÏ°Ô µÈ´Ù.
¿¹¸¦ µé¾î /test/**´Â test¶ó´Â µð·ºÅ丮 ¾ÈÀÇ ÆÄÀÏ ¹× ´Ù¸¥ 
¼­ºêµð·ºÅ丮¸¦ ¸ðµÎ Æ÷ÇÔÇÏ´Â wildcard·Î¼­ µ¿À۵ȴÙ.
Example Pattern
**/CVS/* :
               CVS/Repository
               org/apache/CVS/Entries
               org/apache/jakarta/tools/ant/CVS/Entries
But not:
        org/apache/CVS/foo/bar/Entries (foo/bar/ ºÎºÐÀÌ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù.)
--------------------------------------------
org/apache/jakarta/** :
               org/apache/jakarta/tools/ant/docs/index.html
               org/apache/jakarta/test.xml
But not:
               org/apache/xyz.java
--------------------------------------------
org/apache/**/CVS/* :
               org/apache/CVS/Entries
               org/apache/jakarta/tools/ant/CVS/Entries
But not:
               org/apache/CVS/foo/bar/Entries
---------------------------------------------
¿¹Á¦
<copy todir="${dist}">
  <fileset dir="${src}" 
           includes="**/images/*" 
           excludes="**/*.gif" 
  />
</copy>
 
srcÀÇ ÇÏÀ§ µð·ºÅ丮¿¡¼­ **/images/* ÆÐÅÏ¿¡ Àû¿ëµÇ´Â °ÍÀ» ¸ðµÎ º¹»çÇÏ¿© distµð·ºÅ丮·Î
º¹»çÇÑ´Ù. (ÇöÀç µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç *.gifÀÎ ÆÄÀÏÀº Á¦¿ÜÇϱ¸ ¿Å±ä´Ù.
*************************************
*             FileCopyÇϱ⠠                                                           *
*************************************
»õ·Î¿î FilesetÀ̳ª fileÀ» ÀÌ¿ëÇÏ¿© ÆÄÀÏ/µð·ºÅ丮·Î Ä«ÇÇÇÒ¼ö ÀÖ´Ù.
Paramters :
file -- Ä«ÇÇÇÒ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. Çϳª ¶Ç´Â ÇϳªÀÌ»óÀÇ file or filesetÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
preservelastmodified -- ¿øº»ÆÄÀÏ°ú °°À» °æ¿ì Ä«ÇǸ¦ ½ÃµµÇÑ´Ù. 
                    ÃÖÁ¾ ¼öÁ¤º»°ú ÇöÀç ´ë»óº»ÀÌ °°¾Æ¾ß ÇÑ´Ù.(default : no)
tofile -- Ä«ÇǵǾîÁú ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÑ´Ù. tofile or todirÀÌ »ç¿ëµÇ¾îÁø´Ù. 
           filesetÀ» »ç¿ëÇÏ°Ô µÈ´Ù¸é todir·Î¸¸ »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù.
todir -- Ä«ÇǵǾîÁú µð·ºÅ丮¸¦ ¼³Á¤ÇÑ´Ù
overwrite -- ´ë»óµð·ºÅ丮¿¡ ÇØ´ç ÆÄÀÏÀÌ Á¸ÀçÇÒ°æ¿ì overwriteÇÒÁö »õ·Ó°Ô ¸¸µéÁö¸¦ °áÁ¤ÇÑ´Ù. 
               Defaults to "no". 
filtering -- Ä«ÇǵµÁß¿¡ ÇÊÅ͸¦ »ç¿ëÇÏ¿© Ä«ÇǸ¦ ÇÒ°ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù. Defaults to "no".  
flatten -- ¼Ò½ºµð·ºÅ丮ÀÇ ÇÏÀ§±¸Á¶¸¦ ¹«½ÃÇÏ°í ¸ðµç ³»¿ëÀ» Çѵð·ºÅ丮·Î¸¸ º¹»çÇÑ´Ù.  Defaults to "no".  
includeEmptyDirs -- FileSet¿¡ Æ÷ÇÔµÈ ºó µð·ºÅ丮µµ Ä«ÇÇÇÒ¼ö ÀÖµµ·Ï ÇÑ´Ù. Defaults to "yes". 
 
Examples
------------------------------------------------
1°³ÀÇ ÆÄÀÏ º¹»çÇϱâ
<copy file="myfile.txt" tofile="mycopy.txt"/>
ÆÄÀÏÀ» µð·ºÅ丮·Î º¹»çÇϱâ
<copy file="myfile.txt" todir="../some/dir/tree"/>
Çѵð·ºÅ丮¸¦ ´Ù¸¥ µð·ºÅ丮·Î º¹»çÇϱâ
<copy todir="../new/dir">
    <fileset dir="src_dir"/>
</copy>
src_dir¹ØÀÇ .javaÆÄÀÏÀ» Á¦¿ÜÇÑ °ÍÀ» ../dest/dirµð·ºÅ丮·Î º¹»ç
  <copy todir="../dest/dir" >
    <fileset dir="src_dir" >
      <exclude name="**/*.java"/>
    </fileset>
  </copy>
  <copy todir="../dest/dir" >
    <fileset dir="src_dir" excludes="**/*.java"/>
  </copy>
µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϵéÀ» ´ë»óÀ¸·Î È®ÀåÀÚ bak¸¦ ºÙ¿©¼­ º¹»çÇϵµ·Ï ÇÑ´Ù.
  <copy todir="../backup/dir" >
    <fileset dir="src_dir" />
    <mapper type="glob" from="*" to="*.bak"/>
  </copy>
¿øº» µð·ºÅ丮ÀÇ TITLEÀ̶ó´Â ¹®ÀÚ¸¦ Foo Bar·Î ´ëÄ¡ÇÏ¿© º¹»çÇÑ´Ù.
  <copy todir="../backup/dir" >
    <fileset dir="src_dir" />
    <filterset>
      <filter token="TITLE" value="Foo Bar" />
    </filterset>
  </copy>
À¯»ç ű׷μ­ copydir, copyfileűװ¡ ÀÖ´Ù.
*************************************
*             DeleteÇϱ⠠                                                              *
*************************************
ÇϳªÀÇ ÆÄÀÏÀ» Áö¿ì°Å³ª, ¼­ºêµð·ºÅ丮 ¹× ÇϳªÀÌ»óÀÇ filesetµîÀ» ÀÌ¿ëÇÏ¿© Áö¿ï¼ö 
ÀÖµµ·Ï ÇÑ´Ù.
Parameter´Â CopyFile°ú À¯»çÇÏ´Ù. Ãß°¡°¡ µÈ°ÍÀ» º¸µµ·Ï ÇÏÀÚ.
failonerror -- ÆÄÀÏ »èÁ¦¿¡ ½ÇÆÐÇßÀ» °æ¿ì, build¸¦ ¸ØÃß°í ÇöÀçÀÇ ½ºÅ©¸°¿¡ ÇØ´ç »çÇ×À» º¸¿©ÁÖµµ·Ï ÇÑ´Ù.
includeEmptyDirs -- ºóµð·ºÅ丮±îÁö ¸ðµÎ »èÁ¦Çϵµ·Ï ÇÑ´Ù.
Examples
<delete file="/lib/ant.jar"/>
 /lib/ant.jar À» »èÁ¦ÇÑ´Ù.
  <delete dir="lib"/>
libµð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏ ¹× ¼­ºêµð·ºÅ丮¸¦ °¡Â÷¾øÀÌ »èÁ¦ÇÑ´Ù.
  <delete>
    <fileset dir="." includes="**/*.bak"/>
  </delete>
ÇöÀç µð·ºÅ丮¹× ÇÏÀ§µð·ºÅ丮¿¡¼­ bakÀÇ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀ» ¸ðµÎ »èÁ¦ÇÑ´Ù.
  <delete includeEmptyDirs="true" >
    <fileset dir="build" />
  </delete>
buildÀÚ½ÅÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â µð·ºÅ丮ÀÌ¸é ¸ðµç ÆÄÀÏ°ú ÇÏÀ§µð·ºÅ丮¸¦ »èÁ¦Çϵµ·Ï ÇÑ´Ù.
*************************************
*             Echo                  *
*************************************
ÇöÀç ½Ã½ºÅÛ ÄܼÖÀ̳ª ÆÄÀÏ·Î ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϵµ·Ï ÇÑ´Ù.
message -- º¸¿©ÁÙ ¸Þ½ÃÁö¸¦ ±â¼úÇÑ´Ù. 
file -- ÀÌ ¸Þ½ÃÁö¸¦ ÇØ´çÆÄÀÏ·Î Ãâ·ÂÇϵµ·Ï ÇÑ´Ù.(default no)
append -- ÇöÀç ÆÄÀÏÀÌ Á¸ÀçÇÏ°íÀÖÀ¸¸é Ãß°¡½ÃÅ°´Â ¸ðµå¸¦ ¼³Á¤ÇÑ´Ù.
Examples
  <echo message="Hello world"/>
<echo>
¿äºÎºÐÀº ÇØ´ç Äֿܼ¡ ³ª¿À´Â ±ÛÀÚÀÔ´Ï´Ù.!!! ¹Ùº¸¾ß~~ ¤»¤»
</echo>
*************************************
*  JARÆÄÀÏ ¸¸µé±â                    *
*************************************
ÇØ´ç task¸¦ ÀÌ¿ëÇÏ¿© jarÆÄÀÏÀ» »ý¼ºÇÒ¼öµµ ÀÖ´Ù.
ZIPÆÄÀÏÀ» ¹­´Â task°ú  °°Àº Çü½ÄÀ¸·Î µ¿ÀÛÇÏ¿© °¢°¢ÀÇ ¹­ÀÏ ÆÄÀÏÀ̳ª µð·ºÅ丮 ¸ðµÎ¸¦ ÁöÁ¤ÇÒ¼ö ÀÖ´Ù.
<jar> </jar>tag¿¡ ¹Ýµå½Ã µé¾î°¡¾ßÇÏ´Â ¼Ó¼ºÀº jarfileÀ̶õ ű׷μ­ ÇØ´ç jarÆÄÀÏÀÇ À̸§À» ÁöĪÇÑ´Ù.
jarfile -- »ý¼ºÇÒ  jar-file
basedir -- jar-fileÀ» »ý¼ºÇÒ ±âº»µð·ºÅ丮¸¦ ÁöÁ¤. Default No
compress -- ÀúÀåµÈ µ¥ÀÌÅͻӸ¸ ¾Æ´Ï¶ó ¾ÐÃàµÈ ÇüűîÁö ¸ðµÎ ¹­´Â´Ù, No
encoding -- ¹­À» ÆÄÀÏÀÇ character encoding setÀ» ÁöÁ¤ÇÑ´Ù.À¢¸¸ÇÏ¸é ¹Ù²ÙÁö ¸»±â
filesonly -- ¿£Æ®¸®¿¡ µé¾îÀÖ´Â ÆÄÀϸ¸ ¹­´Â´Ù. No
includes -- ,(comma)·Î ºÐ¸®µÇ¾î ÀÖ´Â ÆÐÅÏÆÄÀÏ ¸®½ºÆ®¸¦ ¹Ýµå½Ã Æ÷ÇÔÇÏ¿© ¹­´Â´Ù. No 
includesfile -- °¢°¢¿¡ ÆÐÅÏ¿¡ ÇØ´çÇÏ´Â ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ¹­µµ·Ï ÇÑ´Ù. No 
excludes -- ÆÄÀÏÆÐÅÏ¿¡ ´ëÇÑ ÆÄÀÏ Á¦¿ÜÇÏ°í ¹­´Â´Ù. No 
excludesfile -- No
defaultexcludes -- defaultexclude¸¦ »ç¿ëÇÒÁö ¾ÈÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. No 
manifest -- manifestÆÄÀÏÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù. No 
update -- ¸¸¾à¿¡ ÇØ´ç jarÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é updateÇÒ°ÍÀÎÁö overwriteÇÒ°ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù.  No 
whenempty -- ÆÐÅÏ¿¡ ¸ÅÇεǴ ÆÄÀÏÀÌ ¾ø´õ¶óµµ µ¿ÀÛÀ» ÇÒ°ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù. No 
Examples :
  <jar jarfile="${dist}/lib/app.jar" basedir="${build}/classes"/>
${build}/classesµð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀϵéÀ» ${dist}/lib µð·ºÅ丮ÀÇ app.jar¶õ À̸§À¸·Î ¾ÐÃàÇÑ´Ù.
-----------------------------------------------------------
  <jar jarfile="${dist}/lib/app.jar"
       basedir="${build}/classes"
       excludes="**/Test.class"
  />
${build}/classesµð·ºÅ丮ÀÇ Test.class¸¦ Á¦¿ÜÇÑ ¸ðµç ÆÄÀϵéÀ» 
${dist}/libµð·ºÅäÀÇ app.jarÆÄÀÏÀÇ À̸§À¸·Î ¾ÐÃàÇÑ´Ù.
------------------------------------------------------------
  <jar jarfile="${dist}/lib/app.jar"
       basedir="${build}/classes"
       includes="mypackage/test/**"
       excludes="**/Test.class"
  />
${build}/classesµð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀϵéÀ» ${dist}/lib µð·ºÅ丮ÀÇ app.jar¶õ À̸§À¸·Î ¹­´Â´Ù.
´Ù ¹­´Â°ÍÀ̾ƴ϶ó ${build}/classes/mypackage/test¹ØÀÇ ÆÄÀϸ¸À» »ç¿ëÇϸç Test.class¸¦ Á¦¿ÜÇÑ´Ù.
  <jar jarfile="${dist}/lib/app.jar">
    <fileset dir="${build}/classes"
             excludes="**/Test.class"
    />
    <fileset dir="${src}/resources"/>
  </jar>
${build}/classes¿Í ${src}/resourceµð·ºÅ丮¸¦ app.jar¶ó´Â À̸§À¸·Î ÇÔ²² ¹­´Âµ¥ 
Test.class¸¦ Á¦¿ÜÇÏ¿© ¹­´Â´Ù
--------------------------------------------------------------------------------
*************************************
*            Java Execute                                                               *
*************************************
ÀÌÁ¦ tag¸¦ ÀÌ¿ëÇÑ java¸í·ÉÀ» ½ÇÇà½ÃÄѺ¸µµ·Ï ÇÏÀÚ.
¿ì¼± ÇØ´ç tag¾È¿¡ µé¾î°¡´Â parameterºÎÅÍ È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
ÇÑ°¡Áö Á¶½ÉÇØ¾ß ÇÒ°ÍÀÌ Àִµ¥ ÇÁ·Î±×·¥ÄÚµùÁß¿¡ System.exit()ºÎºÐÀ» Àß ½á¾ß ÇÑ´Ù
¸¸¾à ±×°ÍÀ» ½á¹ö¸®°Ô µÇ¸é ant¶ÇÇÑ °°Àº vm»ó¿¡¼­ µ¿ÀÛÁßÀ̹ǷΠant±îÁö ºüÁ®³ª¿Í¹ö¸®´Â
°æ¿ì°¡ ¹ß»ýÇÒ¼ö ÀÖ´Ù.
classname -- ½ÇÇà½Ãų Àڹ٠Ŭ·¡½º¸íÀ» ±â¼úÇÑ´Ù. jar¶Ç´Â class nameÀÌ µÉ¼ö ÀÖ´Ù.
jar -- ½ÇÇà½Ãų jarÆÄÀÏÀÇ À§Ä¡¸¦ Ç¥½ÃÇÑ´Ù.
        ¸¸¾à ÀÌ ¿É¼ÇÀÌ ¼±ÅõǾî Áø´Ù¸é ¹Ýµå½Ã ForkÀÇ ¼Ó¼ºÀ» true·Î ¸¸µé¾î¾ß ÇÑ´Ù.
args -- ½ÇÇàµÇ¾îÁú Ŭ·¡½ºÀÇ argument¸¦ ÁöÁ¤ÇÑ´Ù. deprecateµÇ¾úÀ¸¸é ÇöÀç´Â <arg>ű׸¦ »ç¿ëÇÑ´Ù. No 
classpath -- »ç¿ëÇÒ Å¬·¡½ºÆнº¸¦ ÁöÁ¤ÇÑ´Ù. No 
classpathref -- Ŭ·¡½ºÆнº¸¦ »ç¿ëÇϴµ¥ PATH¿¡ Á¤ÀǵǾîÁø reference¸¦ ÀÌ¿ëÇÑ´Ù. No 
fork -- ´Ù¸¥ vm»ó¿¡¼­ Ŭ·¡½º¸¦ triggerÇÏ°í ½Í´Ù¸é ¼³Á¤ÇÑ´Ù. No 
jvm -- JVM¿¡ ´ëÇÑ option command¸¦ »ç¿ëÇÑ´Ù. fork¿É¼ÇÀÌ ºñÈ°¼ºÈ­ µÇ¾úÀ¸¸é ¹«½ÃµÈ´Ù. No 
jvmargs -- forkµÈ VM¿¡ ´ëÇÑ argument¸¦ »ç¿ëÇÑ´Ù. deprecatedµÆÀ¸¸ç <jvmarg> ¸¦ »ç¿ëÇÑ´Ù. No 
maxmemory -- forkµÈ vm¿¡ ´ëÇÑ ÃÖ´ë ¸Þ·Î¸®°ªÀ» ÇÒ´çÇÑ´Ù. No 
failonerror -- 0ÀÌ ¾Æ´Ñ ´Ù¸¥ returncode°¡ ¿À°Ô µÇ¸é build process¸¦ ÁßÁöÇÑ´Ù. 
                ¹Ýµå½Ã fork°¡ trueÀ϶§¸¸ »ç¿ë°¡´ÉÇÏ´Ù. No 
dir -- The directory to invoke the VM in. No 
output -- ÁöÁ¤µÈ ÆÄÀÏÀ» outputÀ¸·Î »ç¿ëÇÑ´Ù. No 
Example
       <java classname="test.Main" >
         <arg value="-h"/> 
         <classpath>
           <pathelement location="test.jar"/>
           <pathelement path="${java.class.path}"/>
         </classpath>
       </java>
Examples
  <java classname="test.Main"/>
  <java classname="test.Main" fork="yes" >
    <sysproperty key="DEBUG" value="true"/> 
    <arg value="-h"/> 
    <jvmarg value="-Xrunhprof:cpu=samples,file=log.txt,depth=3"/> 
  </java>
*************************************
*            Java Compile                                                               *
*************************************
javac¸¦ ÀÌ¿ëÇÏ¿© ÀÚ¹ÙÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÒ ¼ö ÀÖµµ·Ï Çϴ ű׷μ­ °¢Á¾ ¿É¼ÇµéÀÌ ÀÌÂÊ¿¡ µé¾î°¡°Ô µÈ´Ù.
Parameters
====================
srcdir -- ÄÄÆÄÀÏ´ë»óÀÇ ÀÚ¹ÙÆÄÀϵéÀÇ À§Ä¡¸¦ ³ªÅ¸³½´Ù.
destdir -- compileµÈ Ŭ·¡½º ÆÄÀϵéÀÌ µé¾î°¡°ÔµÉ µð·ºÅ丮¸¦ ÁöĪÇÑ´Ù.  No 
includes -- ,(comma)·Î ºÐ¸®µÈ ÆÄÀÏÀÇ ÆÐÅÏÀ» ÀÌ¿ëÇÏ¿© Æ÷ÇÔµÈ ÆÄÀϵéÀ» ¸ðµÎ ÄÄÆÄÀÏÇÑ´Ù. No 
includesfile -- includeÆÐÅÏ¿¡ ¸í¸íµÈ ÆÄÀÏÀ» Æ÷ÇÔÇÏ¿© compileÇÑ´Ù. No 
excludes -- excludeÆÐÅÏ¿¡ ¸í¸íµÈ Á¦¿ÜÀ» Æ÷ÇÔÇÏ¿© ¸ðµÎ compileÇÑ´Ù. No 
excludesfile -- excludeÆÐÅÏ¿¡ ¸í¸íµÈ Á¦¿ÜÀ» Æ÷ÇÔÇÏ¿©  compileÇÑ´Ù. No 
defaultexcludes -- default excludes¸¦ »ç¿ëÇÏ¿© compileÇÑ´Ù. No 
classpath -- Ŭ·¡½º Æнº¸¦ »ç¿ëÇÒ °æ¿ì¿¡ ±â¼úÇÑ´Ù. No 
bootclasspath -- bootstrap class fileÀÇ À§Ä¡¸¦ ±â¼úÇÑ´Ù. No 
classpathref -- PATH reference¿¡ ÁÖ¾îÁø Ŭ·¡½ºÆнº¸¦ »ç¿ëÇÏ¿© compileÇÑ´Ù. No 
bootclasspathref -- PATH reference¿¡ ÁÖ¾îÁø bootstrap Ŭ·¡½ºÆнº¸¦ »ç¿ëÇÏ¿© compileÇÑ´Ù. No 
extdirs -- ¼³Ä¡µÈ extensionÀÇ À§Ä¡. No 
encoding -- source file encoding. No 
nowarn -- compiler·Î -nowarn¿É¼ÇÀ» Àü´ÞÇÑ´Ù. No 
debug -- compile time debug¸ðµå·Î ¼³Á¤ÇÑ´Ù No 
optimize -- optimize¿É¼ÇÀ» »ç¿ëÇÑ´Ù. no
deprecation -- deprecation¿É¼ÇÀ» »ç¿ëÇÑ´Ù. No 
target -- ¸í½ÃµÈ VMÀ» »ç¿ëÇÏ¿© classÆÄÀÏÀ» »ý¼ºÇϵµ·Ï ÇÑ´Ù. No 
verbose -- Ãâ·ÂÀ» verbose¸ðµå·Î ¼³Á¤ÇÑ´Ù. No 
depend -- dependenty-tracking compiler¸ðµå¸¦ »ç¿ëÇÑ´Ù. No 
includeAntRuntime -- Ant run-time lib¸¦ Æ÷ÇÔÇÏ¿© compileÇÑ´Ù. default = yes, required No 
includeJavaRuntime -- ½ÇÇàµÇ´Â VMÀ¸·ÎºÎÅÍ run-time lib¸¦ Æ÷ÇÔÇÏ¿© ÄÄÆÄÀÏÇÑ´Ù. defaults to no. Required No 
fork -- ¿ÜºÎÀÇ JDK compiler¸¦ »ç¿ëÇÏ¿© javac¸¦ ¼öÇàÇÑ´Ù. defaults to no. required No 
memoryInitialSize -- VM»óÀÇ Ãʱ⠸޸𸮠»çÀÌÁ ¼³Á¤ÇÑ´Ù. (examples: 83886080, 81920k, or 80m) , required No 
memoryMaximumSize -- VM»óÀÇ ÃÖ´ë ¸Þ¸ð¸® »çÀÌÁ Á¤ÇÑ´Ù. externally javacÀÏ °æ¿ì »ç¿ëµÇ¸é ´Ù¸¥°æ¿ì´Â ¹«½ÃµÈ´Ù.
(examples: 83886080, 81920k, or 80m) No 
failonerror -- ÄÄÆÄÀÏ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì °è¼Ó ÄÄÆÄÀÏÀ» ½ÃµµÇÒ°ÍÀÎÁö¸¦ °áÁ¤. defaults to true. required No 
source -- command line switch·Î -source¸¦ »ç¿ëÇÑ´Ù. No 
Examples
  <javac srcdir="${src}"
         destdir="${build}"
         classpath="xyz.jar"
         debug="on"
  />
 ${src} directory¿¡ ÀÖ´Â ¸ðµç .javaÆÄÀÏÀ» xyz.jar¸¦ ÀÌ¿ëÇÏ¿© compileÇÑÈÄ debug Á¤º¸´Â ¿¬ »óȲ¿¡¼­ buildµð·ºÅ丮¿¡ 
classÆÄÀϵéÀ» À§Ä¡½ÃŲ´Ù.
-------------------------------------------------------------------------
  <javac srcdir="${src}"
         destdir="${build}"
         includes="mypackage/p1/**,mypackage/p2/**"
         excludes="mypackage/p1/testpackage/**"
         classpath="xyz.jar"
         debug="on"
  />
   ${src} directoryÀÇ ÆÄÀϵéÀ» ÄÄÆÄÀÏÇϴµ¥ Á¶°ÇÀº xyz.jar¸¦ Ŭ·¡½ºÆнº·Î ÀÌ¿ëÇÏ°í, mypackage/p1/**,mypackage/p2/**ÆÐÅÏÀ»
   µû¸£´Â ¼Ò½º(.java)¸¦ Æ÷ÇÔÇÏ°í, mypackage/p1/testpackage/**´Â ÄÄÆÄÀÏ ´ë»ó¿¡¼­ Á¦¿ÜµÈ´Ù.
  <javac srcdir="${src}:${src2}"
         destdir="${build}"
         includes="mypackage/p1/**,mypackage/p2/**"
         excludes="mypackage/p1/testpackage/**"
         classpath="xyz.jar"
         debug="on"
  />
  2°³ÀÇ source path¸¦ »ç¿ëÇÏ¿© compileÇϵµ·Ï ÇÑ´Ù. ³ª¸ÓÁö ¹æ¹ýÀº À§ÀÇ ¹æ¹ý°ú µ¿ÀÏÇÏ´Ù.
À§ÀÇ ¹æ¹ýÀº ¾Æ·¡¿Í °°ÀÌ À籸¼ºµÇ¾îÁú¼ö ÀÖ´Ù.
  <javac destdir="${build}"
         classpath="xyz.jar"
         debug="on">
    <src path="${src}"/>
    <src path="${src2}"/>
    <include name="mypackage/p1/**"/>
    <include name="mypackage/p2/**"/>
    <exclude name="mypackage/p1/testpackage/**"/>
  </javac>
References
ÀλýÀº ª½À´Ï´Ù.
±×·¯¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¿ä±¸ÇÏ´Â »îÀ» »ì¸é¼­ ½Ã°£À» ³¶ºñÇؼ­´Â ¾È µË´Ï´Ù.
µ·°ú ¸í¿¹¸¦ ¾òÁö ¸øÇÏ´õ¶óµµ ³¡±îÁö ÀÚ½ÅÀÇ ±æÀ» °íÁýÇϽʽÿÀ
¸ñ·Ï À­±Û ¾Æ·§±Û
³»¾Ë FREECOUNT.NET ÇÁÄ«³Ý »ý±ä³¯ 2003.12.20 Ȩ | Ä«¿îÅÍ | Ç÷¡½ÃºÏ | ÇÁ¸®º¸µå | Àü±¤ÆÇ | À¥°øºÎ¹æ | Ä¿¹Â´ÏƼ | ÂÊÁöÇÔ