8.2 ANT

ÀÛ¼ºÀÚ : ÁøÀº¿µ ( 2004-08-02)

[¸ÞÀÎ] [¸ñ·Ï]

¸ñÂ÷

8.2.1 ANT °³¿ä

¨ç ANT¶õ
ÀÚ¹Ù·Î °³¹ßÀ» ÇÏ´Ùº¸¸é ¿ÜºÎ¿¡¼­ jarÆÄÀÏÀ» °¡Á®¿Í¼­ »ç¿ëÇØ¾ß ÇÒ ¶§°¡ ÀÖÀ» °ÍÀÌ´Ù. ´ëÇ¥ÀûÀ¸·Î JDBCµå¶óÀ̹ö, servlet.jar µîÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ ÆÐÅ°Áö¸¦ °¡Á®´Ù ¾²·Á¸é ȯ°æº¯¼ö¿¡ Ãß°¡Çϰųª , µµ½º»ó¿¡¼­ ÄÄÆÄÀÏ È¤Àº ½ÇÇàÇÒ¶§ Ŭ·¡½ºÆнº¸¦ ³ª¿­ÇÏ°í ½ÇÇàÇØ¾ß ÇÑ´Ù. ÆÐÅ°ÁöµéÀÌ ¸¹°Å³ª ¸Å¹ø Ãß°¡ÇؾßÇÒ °æ¿ì¿¡´Â ±²ÀåÈ÷ ºÒÆíÇÒ °ÍÀ» ´À³¥°ÍÀÌ´Ù.

Ant¿Í °°Àº ºôµå µµ±¸¸¦ »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì µµ½º â¿¡¼­ Ŭ·¡½º Æнº¿¡ Ŭ·¡½º¸¦ Ãß°¡Çϰųª ¼Ò½º ÆÄÀÏ ÄÄÆÄÀÏ, jar ÆÄÀÏ·Î ¹­´Â ÀÛ¾÷, ¹­Àº jar ÆÄÀÏÀ» ƯÁ¤ µð·ºÅ丮·Î À̵¿½ÃÅ°°í ¼öÁ¤µÈ ³»¿ëÀ» javadocÀ¸·Î ¹®¼­È­ ½ÃÅ°´Â µîÀÇ ÀÛ¾÷Àº ¼Ò½º°¡ ¼öÁ¤µÉ ¶§¸¶´Ù ÇÑ ´Ü°è¾¿ µµ½º â¿¡¼­ ¸ðµÎ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ÇÏÁö¸¸ Ant¸¦ »ç¿ëÇÏ¸é ¸¶Ä¡ ¹èÄ¡(bat) ÆÄÀÏÀ» ½ÇÇàÇÑ °Íó·³ ÀÌ¿Í °°Àº ÀÏ·ÃÀÇ ÀÛ¾÷µéÀ» Ant¸¦ ÀÌ¿ëÇÏ¿© ´Ü Çѹø¿¡ ¼öÇàÇÒ ¼ö ÀÖ´Ù.


¨è ANTÀÇ ÁÖ¿ä ±â´É
AntÀÇ ÁÖ¿ä ±â´ÉÀ» ¾Ë±â ½±°Ô ¸î °¡Áö¸¸ ³ª¿­ÇØ º¸¸é ¾Æ·¡¿Í °°´Ù.

  • ÀÚ¹Ù ¼Ò½º ÆÄÀÏ ÄÄÆÄÀÏ(³Ê¹« ´ç¿¬ÇÏ´Ù)
  • jar, war, ear, zip ÆÄÀÏÀÇ »ý¼º
  • javadocÀ» ½ÇÇàÇÏ¿© µµ¿ò¸» »ý¼º
  • ÆÄÀÏÀ̳ª Æú´õÀÇ À̵¿ ¹× º¹»ç, »èÁ¦
  • °¢°¢ÀÇ ÀÛ¾÷¿¡ ´ëÇÑ ÀÇÁ¸¼º ¼³Á¤
  • À¯´Ð½º¿¡¼­Ã³·³ ÆÄÀÏÀ̳ª Æú´õ¿¡ ÆÛ¹Ì¼Ç ¼³Á¤
  • ÆÄÀÏÀÇ º¯°æ ³¯Â¥¸¦ ¼³Á¤ÇÏ´Â touch ±â´É
  • ¿ÜºÎ ÇÁ·Î±×·¥ÀÇ ½ÇÇà



8.2.2 ANT ¼³Ä¡

¾Æ·¡ÀÇ À§Ä¡¿¡¼­ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â´Ù.
À§Ä¡ : http://ant.apache.org/bindownload.cgi ÆÄÀÏ : apache-ant-1.6.2-bin.zip

¿øÇÏ´Â Àå¼Ò¿¡ ¾ÐÃàÀ» Ç®¸é ¾Æ·¡¿Í °°Àº Æú´õ°¡ ³ªÅ¸³­´Ù. (ÇÊÀÚ´Â apache-ant-1.6.1-bin.zip·Î ´Ù¿î¹Þ¾Ò´Ù)

ANT¸¦ »ç¿ëÇϱâ À§Çؼ­´Â, Ŭ·¡½º Æнº¿¡ apache-ant-1.6.1À» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ ³»¿ëÀ» È®ÀÎÇϸé Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¾Ë ¼ö ÀÖ´Ù.
¹ÙÅÁÈ­¸é - ³»ÄÄÇ»ÅÍ ¿À¸¥ÂʹöÆ° Ŭ¸¯ - µî·ÏÁ¤º¸ - °í±Þ - ȯ°æº¯¼ö¸¦ Ŭ¸¯ÇÑ´Ù.



»õ·Î ¸¸µé±â ¹öÆ°À» Ŭ¸¯ÇÏ¿© ANTÀÇ Æú´õ¸¦ µî·ÏÇÑ´Ù.



ANT¸¦ ½ÇÇàÇϱâ À§ÇØ pathȯ°æº¯¼ö¸¦ ¼±ÅÃÇÑ ÈÄ ÆíÁý´ÜÃ߸¦ Ŭ¸¯ÇÏ¿© ANTÀÇ binÆú´õ¸¦ path¿¡ µî·ÏÇÑ´Ù.



µî·ÏÇÏ´Â ¹æ¹ýÀº Log4JÀÇ È¯°æº¯¼ö Ãß°¡¿Í À¯»çÇÏ´Ù.


8.2.3 ANT ±¸Á¶

¨ç ºôµå ÆÄÀÏ ±¸Á¶
ANT´Â ÇÁ·ÎÁ§Æ®ÀÇ ºôµå, Å×½ºÆ® , ¹èÄ¡µîÀÇ ¸ðµç ´Ü°è¸¦ ¾î¶»°Ô ¼öÇàÇÒÁö ¸í½ÃÇϱâ À§ÇÏ¿© XMLÆÄÀÏÀ» »ç¿ëÇÑ´Ù. ÀÌ XMLÆÄÀÏÀ» ºôµå ÆÄÀÏÀ̶ó Çϸç, ANT¸¦ »ç¿ëÇÏ´Â ¸ðµç ÇÁ·ÎÁ§Æ®µéÀº Àû¾îµµ Çϳª ÀÌ»óÀÇ ºôµåÆÄÀÏÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.
ANT°¡ »ç¿ëÇÑ´À µðÆúÆ® ºôµå ÆÄÀϸíÀº build.xmlÀÌ´Ù.


ANT ºôµå ÆÄÀÏÀÇ ·çÆ® ¿¤¸®¸ÕÆ®´Â < project />ÀÌ´Ù. < project /> ÇÏÀ§¿¡´Â ºôµå °úÁ¤¿¡¼­ »ç¿ëÇÒ ¼Ó¼ºÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Â < property /> ¿¤¸®¸ÕÆ®¿Í °¢ Task¿¡¼­ »ç¿ëÇÒ °æ·Î Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â < path />¿¤¸®¸ÕÆ® , ½ÇÁúÀûÀÎ ÀÛ¾÷À» ¼öÇàÇÏ´Â < target />¿¤¸®¸ÕÆ®¸¦ °¡Áø´Ù.
    < project name=¡°projectName¡± default=¡°first¡± basedir=¡°.¡±>
    • name : ÇÁ·ÎÁ§Æ® À̸§
    • default : ÃʱâÄ¡·Î ¼³Á¤µÇ´Â ÀÛ¾÷(Task), ¾Æ¹« °Íµµ ÁöÁ¤ÇÏÁö ¾Ê°í ½ÇÇàÇϸé ÀÌ ÀÛ¾÷À» ¼öÇà
    • basedir : ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ±âÁØ Æú´õ¸¦ ÁöÁ¤ÇÑ´Ù. .Àº ÇöÀçÆú´õ¸¦ ÁöÁ¤ÇÑ´Ù.

    < property name="src.dir" value="${basedir}/src¡° />
    < property name="classes.dir" value="${basedir}/classes" />
    property´Â º¯¼ö¸¦ ÁöÁ¤Çϴ°Űú °°´Ù.
    • name : º¯¼ö¸í
    • value : º¯¼ö°ª
    º¯¼ö¸¦ È£ÃâÇÒ ¶§ ${º¯¼ö¸í} À¸·Î »ç¿ëÇÑ´Ù.

    < target name="compile" >
       < javac srcdir="${src.dir}" destdir="${classes.dir}" />
    < /target>
    • name : targetÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù.
      ³ªÁß¿¡ build ÇÒ¶§ ÀÌ À̸§À¸·Î È£ÃâÇÒ ¼ö ÀÖ´Ù.
    • ÀÚ¹Ù¼Ò½º¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¾îµð¿¡ ÀÖ´Â ¹«¾ùÀ» ¾îµð¿¡ ÄÄÆÄÀÏÇϴ°¡¸¦ ÁöÁ¤ÇÑ´Ù.
      srcdir : ÀÚ¹Ù¼Ò½º°¡ µé¾îÀÖ´Â Æú´õ¸¦ ÁöÁ¤ÇÑ´Ù.
      destdir : ÄÄÆÄÀÏÇÑ ÈÄ Å¬·¡½ºÆÄÀÏÀÌ À§Ä¡ÇÒ Æú´õ¸¦ ÁöÁ¤ÇÑ´Ù.



8.2.4 ANT »ç¿ë

¨ç À¥¾ÖÇø®ÄÉÀ̼Ç
6-1°­Á¿¡¼­ »ç¿ëÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÌ¿ëÇÑ´Ù.


¨è build.xml
build.xml ÆÄÀÏÀº WEB-INF¿¡ »ý¼ºÇÑ´Ù.
<?xml version=¡°1.0¡± encoding="euc-kr"?>

<project name=¡°projectName¡±  default=¡°compile¡±   basedir=¡°.¡±>

    <property name="src.dir" value="${basedir}/src¡°  /> 
    <property name="classes.dir" value="${basedir}/classes" /> 

     <target name="compile" > 
         <javac srcdir="${src.dir}" destdir="${classes.dir}" /> 
    </target> 
</project>  


¨é ÀÚ¹Ù¹®¼­ »ý¼º
ÀÚ¹Ù¹®¼­´Â src Æú´õ ¾È¿¡ »ý¼ºÇÑ´Ù.
package kr.co.a ;

public class ANTTest {
	public static void main( String [] args ){
		System.out.println( "test" ) ; 
	}
}


¨ê µµ½º¸ðµå¿¡¼­ ÄÄÆÄÀÏ
µµ½º âÀ» ¶ç¿î ÈÄ Çö ÄÁÅؽºÆ®ÀÇ WEB-INF Æú´õ¸¦ À̵¿ÇÑ´Ù.
±×³É ÄÄÆÄÀÏÀ» Çϸé ÇöÀç Æú´õ¾È¿¡ ÆÐÅ°Áö°¡ »ý±â¸é¼­ ÄÄÆÄÀÏÀÌ µÈ´Ù.


¨ë ant¸¦ ½ÇÇàÇÑ´Ù.
E:\03.src\jslt\WEB-INF>ant

ant¸¦ ½ÇÇàÇϸé ÇöÀç Æú´õ¿¡ ÀÖ´Â build.xml ¹®¼­¸¦ È£ÃâÇؼ­ project¿¡ default·Î ¼±¾ðµÇ¾î ÀÖ´Â task¸¦ È£ÃâÇÑ´Ù. ¿©±â¿¡¼­´Â compile task¸¦ È£ÃâÇÑ´Ù.


¨í Ž»ö±â¸¦ ¶ç¿ö È®ÀÎÇÑ´Ù.
Ž»ö±â¸¦ ¶ç¿ö build.xml¿¡ ¼±¾ðµÇ¾î Àִ°Íó·³ classesÆú´õ¿¡ °¡º¸¸é ÄÄÆÄÀÏ ÇÑ Å¬·¡½º°¡ ÇØ´ç ÆÐÅ°Áö ¹Ø¿¡ Àִ°ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

ÀÌ·¸µí build.xml¹®¼­¸¸ Àß ¸¸µé¾î ³õÀ¸¸é ÄÄÆÄÀÏÀ» ¼ö¿ùÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù. ÀÌ¿Ü¿¡µµ ±²ÀåÈ÷ ¸¹Àº ³»¿ëµéÀÌ ÀÖÁö¸¸ ¿©·¯ºÐµéÀÌ ¾Æ·¡ Âü°í¹®ÇãÀ» »ìÆ캸¸ç Ãß°¡ÇØ º¸ÀÚ. Ȥ½Ã, ³ªÁß¿¡ Á»´õ ³»¿ëÀ» Ãß°¡ÇÒ ±âȸ°¡ ¿ÃÁöµµ...

Âü°í¹®Çå