The Jakarta Project
      The Tomcat Servlet/JSP Container

Links

Contents

¼Ò½º ±¸¼º

µð·ºÅ丮 ±¸Á¶ Directory Structure

¾Æ·¡ ³ª¿À´Â ȯ°æ º¯¼ö $CATALINA_HOME ´Â ÅèĹÀÌ ¼³Ä¡µÈ µð·ºÅ丮ÀÇ °æ·Î¸¦ °¡¸®Åµ´Ï´Ù. ´ëºÎºÐÀÇ »ó´ë °æ·Î¸¦ ÇØ¼®ÇÏ´Â ±âÁØÀÌ µÇ´Â µð·ºÅ丮 ÀÔ´Ï´Ù. ±×·¯³ª, ÅèĹ 4 ¸¦ ´ÙÁßÀνºÅϽº·Î ¼³Ä¡¸¦ ÇØ¼­ CATALINA_BASE µð·ºÅ丮 ¼³Á¤À» Çß´Ù¸é, °¢°¢ÀÇ ÂüÁ¶¸¦ À§Çؼ­ $CATALINA_HOME ´ë½Å $CATALINA_BASE ¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

ÀÌ ¸Å´º¾óÀÌ ±Ã±ØÀûÀ¸·Î ÃßõÇÏ´Â °ÍÀº ¹èÄ¡µÇ¼­ ½ÇÇàÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀ» Æ÷ÇÔÇÏ´Â µð·ºÅ丮 ü°è(ÀÌÀü ¼½¼Ç¿¡¼­ ¼³¸í)·ÎºÎÅÍ ¼Ò½ºÄڵ带 Æ÷ÇÔÇÏ´Â µð·ºÅ丮 ü°è(ÀÌ ¼½¼Ç¿¡¼­ ¼³¸í)¸¦ ºÐ¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ºÐ¸®ÇÒ °æ¿ì ´ÙÀ½ÀÇ ÀÕÁ¡ÀÌ ÀÖ½À´Ï´Ù:

  • ¸¸¾à ¾îÇø®ÄÉÀ̼ÇÀÇ "½ÇÇàµÇ´Â" ¹öÀüÀÌ ¼¯¿©ÀÖÁö ¾Ê´Ù¸é ¼Ò½º µð·ºÅ丮ÀÇ ³»¿ëÀÌ ´õ ½±°Ô °ü¸®, À̵¿, ¹é¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • ¼Ò½º ÄÚµå Á¦¾î°¡ º¸´Ù ½¬¿öÁý´Ï´Ù. ¼Ò½ºÄÚµå ÆÄÀϵ鸸 Àֱ⠶§¹®ÀÌÁÒ.

  • ¹èÄ¡ ü°è°¡ ºÐ¸®µÇ¾î ÀÖ´Ù¸é ¼³Ä¡ ¹èÆ÷ÆÇÀ» ±¸¼ºÇÒ ÆÄÀϵéÀ» °ñ¶ó³»´Â °ÍÀÌ º¸´Ù ½¬¿öÁý´Ï´Ù.

°ð ¾Ë°Ô µÇ°ÚÁö¸¸, ant °³¹ß µµ±¸¸¦ »ç¿ëÇØ¼­ ÀÌ·¯ÇÑ µð·ºÅ丮 ü°è¸¦ ³ë°¡´Ù¾øÀÌ »ý¼ºÇϰí ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼Ò½º Äڵ尡 ³õÀÏ ½ÇÁ¦ µð·ºÅ丮¿Í ÆÄÀÏ Ã¼°è´Â ¸¾´ë·Î Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ´ÙÀ½¿¡ ¼Ò°³ÇÏ´Â ±¸¼ºÀº º¸ÆíÀûÀ¸·Î Àû¿ëÇÒ¸¸ °ÍÀ̰í, build.xml ¿¹Á¦ ȯ°æ¼³Á¤ ÆÄÀÏ¿¡¼­ »ç¿ëÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ¸ðµç ÄÄÆ÷³ÍÆ®µéÀº À¥ ¾îÇø®ÄÉÀÌ¼Ç ÀÇ ÃÖ»óÀ§ ÇÁ·ÎÁ§Æ® ¼Ò½º µð·ºÅ丮¿¡ ÀÖ½À´Ï´Ù:

  • docs/ - À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹®¼­µé, °³¹ßÆÀÀÌ »ç¿ëÇÏ´Â °ÍÀ¸·Î ¾Æ¹« Çü½ÄÀ̳ª »ó°ü¾ø½À´Ï´Ù.

  • src/ - ÀÚ¹Ù ¼Ò½º ÆÄÀÏÀ̸ç À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¼­ºí¸´, ºóÁî, ´Ù¸¥ Àڹ٠Ŭ·¡½ºµéÀ» »ý¼ºÇسÀ´Ï´Ù. (°­·ÂÈ÷ ÃßõÇÏ´Â ¹Ù) ¼Ò½º Äڵ尡 ÆÐŰÁö·Î ±¸¼ºµÇ¾îÀÖ´Ù¸é, ÀÌ µð·ºÅ丮¸¦ ±âÁØÀ¸·Î ÇÏÀ§¿¡ ÆÐŰÁö ü°èó·³ µð·ºÅ丮 ±¸Á¶¸¦ ÀÌ·ç¾î ³õÀ¸¸é µË´Ï´Ù.

  • web/ - À¥ »çÀÌÆ®ÀÇ Á¤ÀûÀÎ ÄÁÅÙÃ÷µé (HTML ÆäÀÌÁö, JSP ÆäÀÌÁö, JavaScript ÆÄÀÏ, CSS ½ºÅ¸ÀÏ½ÃÆ® ÆÄÀÏ, °¢Á¾ À̹ÌÁö)ÀÌ À§Ä¡Çϸç Ŭ¶óÀÌ¾ðÆ®°¡ º¸°Ô µÉ °ÍµéÀÔ´Ï´Ù. ÀÌ µð·ºÅ丮°¡ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹®¼­ ·çÆ® document root À̸ç, ¿äû URI ·Î Á¢±ÙÇÒ ¼ö ÀÖ´Â ÀÚ¿øÀÇ ¼­ºêµð·ºÅ丮 ±¸Á¶´Â ÀÌ µð·ºÅ丮¸¦ ±âÁØÀ¸·Î ÇÏÀ§¿¡ ¹Ý¿µµÇ¸é µË´Ï´Ù.

  • web/WEB-INF/ - À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ Æ¯º°ÇÑ È¯°æ¼³Á¤ ÆÄÀϵéÀÌ ³õÀÌ´Â ÀÚ¸®À̸ç, À¥ ¾îÇø®ÄÉÀÌ¼Ç ¹èÄ¡ Áö½ÃÀÚ(web.xml)¸¦ Æ÷ÇÔÇØ¼­, ¼Õ¼ö ¸¸µç »ç¿ëÀÚ ÅÂ±× ¶óÀ̺귯¸®¸¦ À§ÇÑ ÅÂ±× ¶óÀ̺귯¸® ¼³¸í¼­, À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÏ´Â ´Ù¸¥ ÀÚ¿ø ÆÄÀϵéÀÌ ³õÀÔ´Ï´Ù. ÀÌ µð·ºÅ丮°¡ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹®¼­ ·çÆ® document root ¾Æ·¡¿¡ À§Ä¡Çϰí ÀÖÁö¸¸, ¼­ºí¸´ ½ºÆå¿¡¼­´Â ÀÌ µð·ºÅ丮ÀÇ ³»¿ëÀÌ Å¬¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ÀÇÇØ ³ëÃâµÇ´Â °ÍÀ» ±ÝÁöÇϰí ÀÖ½À´Ï´Ù. ¶§¹®¿¡ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» µ¿ÀÛÇÏ´Â µ¥ ÇÊ¿äÇÑ, ¹Î°¨ÇÑ È¯°æ¼³Á¤ Á¤º¸(µ¥ÀÌÅͺ£À̽º ¿¬°á¿¡ »ç¿ëµÇ´Â ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå °°Àº)¸¦ ³õ¾ÆµÎ±â´Â ¾È¼º¸ÂÃãÀÔ´Ï´Ù.

°³¹ß °úÁ¤¿¡¼­, Àӽ÷Π»ý¼ºµÇ´Â µÎ°³ÀÇ µð·ºÅ丮°¡ ÀÖ½À´Ï´Ù:

  • build/ - ±âº» ºôµå(ant)¸¦ ½ÇÇàÇÒ ¶§, ÀÌ µð·ºÅ丮´Â ÀÌ ¾îÇø®ÄÉÀ̼ÇÀÇ À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÏ´Â Á¤È®ÇÑ ÆÄÀÏ ±¸Á¶ÀÇ À̹ÌÁö¸¦ Çü¼ºÇÏ°Ô µË´Ï´Ù. ÅèĹ 4¿¡¼­´Â $CATALINA_HOME/webapps µð·ºÅ丮¿¡ À̰ÍÀ» º¹»çÇϰųª, "Manager" À¥ ¾îÇø®ÄÉÀ̼ÇÀ» ÅëÇØ¼­ ¼³Ä¡ ÇÔÀ¸·Î ÀÌó·³ ÆîÃÄÁø ÇüÅ·Π¹èÄ¡¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÈÄÀÚ´Â °³¹ß±â°£µ¿¾È ¸Å¿ì À¯¿ëÇϸç, ¾Æ·¡¿¡¼­ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù.

  • dist/ - ant dist ŸÄÏÀ» ½ÇÇàÇÒ ¶§, ÀÌ µð·ºÅ丮°¡ »ý¼ºµË´Ï´Ù. À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹ÙÀ̳ʸ® ¹èÆ÷ÆÇÀÇ Á¤È®ÇÑ À̹ÌÁö¸¦ »ý¼ºÇÕ´Ï´Ù. ¶óÀ̼¾½º Á¤º¸, ¹®¼­, README ÆÄÀÏ µî ÁغñÇÑ °ÍµéÀÌ Æ÷ÇԵ˴ϴÙ.

ÀÌ µÎ °³ÀÇ µð·ºÅ丮°¡ ¼Ò½ºÄÚµå °ü¸® ½Ã½ºÅÛ¿¡ Æ÷ÇÔµÇÁö ¾Êµµ·Ï ÁÖÀÇÇϽʽÿÀ. ¿Ö³ÄÇÏ¸é °³¹ßÇÏ´Â µ¿¾È Çʿ信 µû¶ó Àӽ÷Π»ý¼ºµÇ°í Á¦°ÅµÇ±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î, ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â ¼Ò½ºÆÄÀÏÀ» ¼öÁ¤ÇÏ´Â °ÍÀº ºÎÁú¾ø´Â ÁþÀÔ´Ï´Ù. ºôµå¸¦ ÇÒ ¶§ º¯°æµÈ °ÍÀÌ ´Ù ¼Ò½ÇµÇ±â ¶§¹®ÀÔ´Ï´Ù.

¿ÜÀûÀÎ ÀÇÁ¸ External Dependencies

¿ÜºÎÀÇ ÇÁ·ÎÁ§Æ®³ª ÆÐŰÁö¿¡ ÀÖ´Â JAR ÆÄÀÏ(¶Ç´Â ÀÚ¿øÆÄÀÏ)À» À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÏ·Á¸é ¾î¶»ÇÒ±î¿ä? ÀϹÝÀûÀÎ ¿¹·Î´Â À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼­ JDBC µå¶óÀ̹ö¸¦ Æ÷ÇÔÇØ¾ß ÇÒ °æ¿ì°¡ µÇ°Ú½À´Ï´Ù.

°³¹ßÀÚ¸¶´Ù ÀÌ¿¡ ´ëÇÑ Á¢±Ù ¹æ½ÄÀÌ ´Ù¸¨´Ï´Ù. ¾î¶² À̵éÀº ÀÌ·¯ÇÑ JAR ÆÄÀϵéÀ» °¢°¢ÀÇ À¥ ¾îÇø®ÄÉÀ̼Ǹ¶´Ù ¼Ò½º ÄÚµå Á¦¾î â°í¿¡ º¹»çÇØ¼­ »ç¿ëÇϵµ·Ï ÇÕ´Ï´Ù. ±×·¯³ª, ÀÌ·² °æ¿ì ¸¹Àº ¾îÇø®ÄÉÀ̼ǿ¡¼­ °°Àº JAR ÆÄÀÏÀ» »ç¿ëÇÒ ¶§ Áß´ëÇÑ °ü¸® ¹®Á¦°¡ ´ëµÎµË´Ï´Ù. ƯÈ÷ ´Ù¸¥ ¹öÀüÀÇ JAR ÆÄÀÏ·Î ¾÷±×·¹À̵å ÇÒ °æ¿ì ±×·¸½À´Ï´Ù.

±×·¯¹Ç·Î, ÀÌ ¸Å´º¾ó¿¡¼­ ±ÇÇÏ´Â °ÍÀº À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¼Ò½º ÄÚµå Á¦¾î â°í ³»¿¡ °¢°¢ÀÇ ÆÐŰÁö¸¦ º¹»çÇØ¼­ °ü¸®ÇÏÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ´ë½Å, À¥ ¾îÇø®ÄÉÀÌ¼Ç ºôµåÇÏ´Â °úÁ¤¿¡ ¿ÜºÎ ÀÇÁ¸À» ÅëÇÕ½ÃŰ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô Çϸé ÇÊ¿äÇÑ JAR ÆÄÀÏÀÇ ¹öÀüÀÌ ¹Ù²î¾îµµ À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¾÷µ¥ÀÌÆ®¿¡ ´ëÇØ °ÆÁ¤ÇÒ ÇÊ¿ä¾øÀÌ, °³¹ß ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¼³Ä¡ÇÏ´Â ´ë·Î JAR ÆÄÀÏÀÇ Àû´çÇÑ ¹öÀüÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹Á¦ ant build.xml ÆÄÀÏ¿¡¼­, ¾î¶»°Ô build properties ¸¦ Á¤ÀÇÇØ¼­ build.xml ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö ¾Ê°í, ÇÊ¿äÇÑ ÆÄÀϵéÀÇ À§Ä¡¸¦ ¼³Á¤ÇÏ´ÂÁö º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. ƯÁ¤ÇÑ °³¹ßÀÚ°¡ »ç¿ëÇÏ´Â ºôµå ÇÁ·ÎÆÛƼ´Â ¾îÇø®ÄÉÀÌ¼Ç ¸¶´Ù µû·Î ÀÛ¼º°Å³ª ¶Ç´Â °³¹ßÀÚÀÇ È¨ µð·ºÅ丮¿¡ ÀúÀåµÈ "Ç¥ÁØ" ºôµå ÇÁ·ÎÆÛƼ¸¦ ±âº»À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¹Àº °æ¿ì, °³¹ß ½Ã½ºÅÛ °ü¸®ÀÚ´Â ÀÌ¹Ì ÇÊ¿äÇÑ JAR ÆÄÀϵéÀ» ÅèĹ 4ÀÇ common/lib À̳ª shared/lib µð·ºÅ丮¿¡ ¼³Ä¡ÇØ ³õ¾ÒÀ» °ÍÀÔ´Ï´Ù. ÀÌ·± °æ¿ì¶ó¸é, ¾Æ¹«°Íµµ ¾ÈÇØµµ ±¦Âú½À´Ï´Ù. ¿¹Á¦ build.xml ÆÄÀÏ¿¡´Â ÀÚµ¿À¸·Î ÀÌ µð·ºÅ丮¿¡ ÀÖ´Â JAR ÆÄÀϵéÀ» ÀÚµ¿À¸·Î classpath ¿¡ Æ÷ÇԽà ۵µ·Ï µÇ¾î ÀÖ½À´Ï´Ù.

¼Ò½º ÄÚµå Á¦¾î Source Code Control

¾Õ¿¡¼­ ¾ê±âÇÑ´ë·Î, À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¸ðµç ¼Ò½º ÆÄÀÏÀ» ¹öÀü °ü¸® ½Ã½ºÅÛ(CVS; Concurrent Version System) °ú °°Àº µµ±¸¸¦ »ç¿ëÇØ¼­ °ü¸®ÇÏ´Â °ÍÀ» °­·ÂÈ÷ ÃßõÇÕ´Ï´Ù. À̰ÍÀ» »ç¿ëÇϱâ·Î °áÁ¤Çß´Ù¸é, ¼Ò½º ü°è¸¦ ±¸¼ºÇÏ´Â °¢°¢ÀÇ µð·ºÅ丮¿Í ÆÄÀÏÀº ¸ðµÎ µî·ÏµÇ°í ÀúÀåµÇ¾î¾ß µË´Ï´Ù -- »ý¼ºµÈ ÆÄÀϵéÀº Á¦¿ÜµË´Ï´Ù. ¸¸ÀÏ ¹ÙÀ̳ʸ® Çü½Ä ÆÄÀÏ À» µî·ÏÇÑ´Ù¸é(À̹ÌÁö³ª JAR ¶óÀ̺귯¸® °°Àº), ¼Ò½º ÄÚµå Á¦¾î ½Ã½ºÅÛ¿¡ À̰ÍÀ» ÁöÁ¤ ÇØÁà¾ß µË´Ï´Ù.

(Áö³­ ¼½¼Ç¿¡¼­) °³¹ß°úÁ¤ÀÇ »ý¼º¹°ÀÎ build/ ¿Í dist/ µð·ºÅ丮ÀÇ ³»¿ëÀº ¼Ò½º ÄÚµå Á¦¾î ½Ã½ºÅÛ¿¡ µî·ÏÇÏÁö ¾Ê¾Æ¾ß µÈ´Ù°í ¸»Çß½À´Ï´Ù. CVS°¡ ÀÌµé µð·ºÅ丮¸¦ ¹«½ÃÇϵµ·Ï ÁöÁ¤ÇÏ´Â ½¬¿î ¹æ¹ýÀÌ Àִµ¥, .cvsignore (ÆÄÀϸíÀÌ . À¸·Î ½ÃÀÛµÊ)ÆÄÀÏÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀ» ÃÖ»óÀ§ ¼Ò½ºµð·ºÅ丮¿¡ ³õ¾ÆµÎ°í, ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù:

build
dist
build.properties

build.properties ÆÄÀÏÀÌ ¿©±â¿¡ µé¾îÀÖ´Â ÀÌÀ¯´Â Processes ¼½¼Ç¿¡¼­ ¼³¸íÇϰڽÀ´Ï´Ù.

¼Ò½º ÄÚµå Á¦¾î ȯ°æÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀº ÀÌ ¸Å´º¾óÀÇ ¹üÁÖ¸¦ ¹þ¾î³³´Ï´Ù. ±×·¯³ª, Ä¿¸Çµå ±â¹Ý CVS Ŭ¶óÀÌ¾ðÆ® »ç¿ëÇÒ ¶§ ´ÙÀ½ÀÇ ´Ü°è¸¦ ¹â¾Æ³ª°¥ °ÍÀÔ´Ï´Ù:

  • ¼Ò½º ÀúÀå¼Ò¿¡ ÀÖ´Â »õ·Î º¯°æµÈ ¼Ò½º¸¦ ¸ÕÀú ¹Þ¾Æ¿À±â À§Çؼ­ ÇÁ·ÎÁ§Æ®ÀÇ ¼Ò½º µð·ºÅ丮·Î À̵¿ÇÑ ÈÄ¿¡ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù. cvs update -dP

  • ¼Ò½º ÄÚµå ü°è¿¡ »õ·Î¿î ÇÏÀ§ µð·ºÅ丮¸¦ ¸¸µé¾ú´Ù¸é, ´ÙÀ½ ¸í·ÉÀ¸·Î CVS ¿¡ ±× µð·ºÅ丮¸¦ µî·ÏÇÕ´Ï´Ù. cvs add {subdirname}

  • »õ·Î ¼Ò½ºÄÚµå ÆÄÀÏÀ» ¸¸µé¾úÀ» °æ¿ì, ±× ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮·Î °¡¼­, ´ÙÀ½ ¸í·ÉÀ¸·Î »õ·Î¿î ÆÄÀÏÀ» µî·ÏÇÕ´Ï´Ù. cvs add {filename}

  • ¾î¶² ¼Ò½º Äڵ尡 ´õÀÌ»ó ÇÊ¿ä¾øÀ» °æ¿ì, ±× ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮·Î À̵¿ÇÑ ÈÄ ÆÄÀÏÀ» »èÁ¦ÇÕ´Ï´Ù. ±×¸®°í³ª¼­, CVS ¿¡ µî·ÏµÈ °Íµµ ´ÙÀ½ ¸í·ÉÀ¸·Î Á¦°ÅÇÕ´Ï´Ù. cvs remove {filename}

  • ¼Ò½º ÆÄÀϵéÀ» »ý¼º, ¼öÁ¤, »èÁ¦ÇÏ´Â µ¿¾È¿¡´Â º¯°æ»çÇ×Àº ¼­¹ö ÀúÀå¼Ò¿¡ ¹Ý¿µ µÇÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù. ÇöÀç »óŸ¦ ÀúÀåÇÏ·Á¸é, ÇÁ·ÎÁ§Æ® ¼Ò½º µð·ºÅ丮·Î °¡¼­ cvs commit À» ½ÇÇàÇÕ´Ï´Ù. ¹æ±Ý ¿Ï·áÇÑ º¯°æ»çÇ׿¡ ´ëÇÑ ÂªÀº ¼³¸íÀ» Àû°Ô µË´Ï´Ù. À̰ÍÀº »õ·Î °»½ÅµÇ´Â ¼Ò½º ÆÄÀÏÀÇ »õ ¹öÀü°ú ÇÔ²² ÀúÀåµË´Ï´Ù.

CVS ³ª ÀÌ¿Í °°Àº ¼Ò½º ÄÚµå Á¦¾î ½Ã½ºÅÛÀº ºÎ°¡ÀûÀÎ ±â´ÉµéÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù. (¿¹¸¦ µé¸é ƯÁ¤ ¹öÀüÀ» ±¸¼ºÇÏ´Â ÆÄÀϵ鿡 ű׸¦ ´Þ¾Æ ³õ´Â ±â´É°ú ³ªÁß¿¡ ÇÕÃÄÁú ´ÙÁß °³¹ß ¼­ºêÇÁ·ÎÁ§Æ®ÀÇ Áö¿ø µî). ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº ¼Ò°³ Introduction¿¡ ÀÖ´Â ¸µÅ©¿Í Âü°í»çÀÌÆ®¸¦ º¸½Ê½Ã¿À.

BUILD.XML ȯ°æ¼³Á¤ ÆÄÀÏ Configuration File

ant¸¦ »ç¿ëÇØ¼­ ÀÚ¹Ù ¼Ò½º ÄÚµå ÆÄÀϵéÀ» ÄÄÆÄÀÏÇÏ´Â °Í°ú ¹èÄ¡ ü°èÀÇ »ý¼ºÀ» °ü¸®ÇÏ·Á°í ÇÕ´Ï´Ù. ÇÊ¿äÇÑ Ã³¸® ´Ü°è¸¦ Á¤ÀÇÇÑ build.xml ºôµå ÆÄÀÏÀÇ ¼³Á¤´ë·Î Ant ´Â µ¿ÀÛÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº ¼Ò½º ÄÚµå ü°èÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡ ÀÖ¾î¾ß µÇ°í, ¼Ò½º ÄÚµå Á¦¾î ½Ã½ºÅÛ¿¡ µî·ÏÇØ¾ß µË´Ï´Ù.

Makefile ó·³ build.xml ÆÄÀÏ¿¡´Â ¿©·¯°³ÀÇ "targets" °¡ ÀÖ½À´Ï´Ù. °¢°¢ÀÇ target Àº ¼±ÅÃÀûÀÎ °³¹ß µ¿ÀÛÀ» Áö¿øÇÕ´Ï´Ù(¿¹¸¦ µé¸é °ü·Ã javadoc ¹®¼­ »ý¼º, °»½ÅÀ» À§Çؼ­ ÀÚµ¿ »ý¼ºµÈ ¹èÄ¡ Ȩµð·ºÅ丮 Á¦°Å, ¾îÇø®ÄÉÀÌ¼Ç ¹èÆ÷ÆÇ ¸¸µé±â À§Çؼ­ À¥ ¾îÇø®ÄÉÀÌ¼Ç ¾ÐÃà ÆÄÀÏ »ý¼º µî). Àß ¸¸µé¾îÁø build.xml ÆÄÀÏ¿¡´Â ³»ºÎ¿¡¼­ »ç¿ëµÇ´Â target ¿¡ ´ëÇØ¼­, °³¹ßÀÚ°¡ »ç¿ëÇϵµ·Ï ¼³°èµÈ target À» ¼³¸íÇÏ´Â ³»ºÎ ÁÖ¼®À» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ant ¿¡¼­ Áö¿øÇÏ´Â ÇÁ·ÎÁ§Æ® ¹®¼­¸¦ º¸±â À§Çؼ­´Â build.xml ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡¼­ ´ÙÀ½°ú °°ÀÌ Å¸ÀÌÇÎÇÏ¸é µË´Ï´Ù:

ant -projecthelp

óÀ½ »ç¿ëÇÏ´Â ºÐµéÀ» À§Çؼ­, basic build.xml ÆÄÀÏÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀ» °¢ÀÚÀÇ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÁ§Æ® ¼Ò½º µð·ºÅ丮¿¡ ¸Â°Ô ¼öÁ¤Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â ´Ù¾çÇÑ targetÀÇ ±â´É¿¡ ´ëÇØ¼­ ÁÖ¼®À¸·Î ¼³¸íÇÕ´Ï´Ù. ¿ä¾àÇϸé, ´ÙÀ½ target ÀÌ ÀϹÝÀûÀ¸·Î Á¦°øµË´Ï´Ù:

  • clean - ÀÌ target Àº ±âÁ¸ÀÇ build ¿Í dist µð·ºÅ丮¸¦ »èÁ¦Çϰí, Àç »ý¼ºÇÒ ¼ö ÀÖ°Ô ¸¸µì´Ï´Ù. º¯°æµÈ Ŭ·¡½º¸¦ È®½ÇÈ÷ ÀçÄÄÆÄÀÏÇØ¼­ ¼öÁ¤µÈ »çÇ×ÀÌ È®½ÇÈ÷ ¹Ý¿µµÉ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

  • compile - ÀÌ target Àº ¸¶Áö¸· ÄÄÆÄÀÏ ÀÌÈÄ·Î º¯°æµÈ ¼Ò½ºÆÄÀϸ¸ ÄÄÆÄÀÏÇϴµ¥ ¾²ÀÔ´Ï´Ù. °á°ú·Î »ý¼ºµÈ Ŭ·¡½º ÆÄÀÏÀº build µð·ºÅ丮ÀÇ WEB-INF/classes ÇÏÀ§ µð·ºÅ丮, Áï À¥ ¾îÇø®ÄÉÀÌ¼Ç ±¸Á¶¿¡¼­ ÀÖ¾î¾ß µÉ À§Ä¡¿¡ ³õÀÌ°Ô µË´Ï´Ù. ÀÌ ¸í·ÉÀº °³¹ß Áß¿¡ ¾ÆÁÖ ÀÚÁÖ ½ÇÇàµÇ±â ¶§¹®¿¡, º¸Åë "default" ±âº»À¸·Î ÁöÁ¤Çؼ­ ´ÜÁö ant ¸í·É¾î¸¸À¸·Îµµ ½ÇÇà Çϵµ·Ï ÇÕ´Ï´Ù.

  • all - ÀÌ target Àº clean target À» ½ÇÇàÇϰí, °ð¹Ù·Î compile target À» ½ÇÇàÇϵµ·Ï ÇÕ´Ï´Ù. ¶§¹®¿¡, Àüü ¾îÇø®ÄÉÀ̼ÇÀ» ÀçÄÄÆÄÀÏÇϵµ·Ï º¸ÀåÇϱ⠶§¹®¿¡ ¸ðµç º¯°æ»çÇ×ÀÌ È®½ÇÈ÷ ¹Ý¿µµË´Ï´Ù.

  • javadoc - ÀÌ target Àº À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ Àڹ٠Ŭ·¡½ºµéÀÇ Javadoc API ¹®¼­¸¦ »ý¼ºÇÕ´Ï´Ù. ¿¹Á¦ build.xml ÆÄÀÏÀº À¥ ¾îÇø®ÄÉÀÌ¼Ç ¹èÆ÷ÆÇ¿¡ API ¹®¼­¸¦ Æ÷ÇÔÇÏ´Â °ÍÀ¸·Î °¡Á¤Çß°í, dist µð·ºÅ丮ÀÇ ÇÏÀ§ µð·ºÅ丮¿¡ docs µð·ºÅ丮¸¦ »ý¼ºÇÏ°Ô µË´Ï´Ù. ¸Å¹ø ÄÄÆÄÀÏÇÒ ¶§¸¶´Ù ¹®¼­¸¦ ¸¸µé Çʿ䰡 ¾ø±â ¶§¹®¿¡ compile targetÀÌ ¾Æ´Ñ dist target ¿¡ ÀÇÁ¸ÀûÀ¸·Î µÇ¾îÀÖ½À´Ï´Ù.

  • dist - ÀÌ target Àº À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ ¹èÆ÷ µð·ºÅ丮¸¦ ¸¸µé°í, ÇÊ¿äÇÑ ¹®¼­¿Í Àڹ٠Ŭ·¡½ºÀÇ javadoc ±×¸®°í, ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¼³Ä¡Çϴµ¥ »ç¿ëÇÒ À¥ ¾îÇø®ÄÉÀÌ¼Ç ¾ÐÃà(WAR) ÆÄÀÏÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ targetÀº deploy ¿¡ ÀÇÁ¸Çϱ⠶§¹®¿¡, ¹èÄ¡ÇÒ ¶§ ÇÊ¿äÇÑ ¿ÜºÎÀÇ ÆÄÀϵ鵵 WAR ÆÄÀÏ ¾È¿¡ Æ÷ÇÔÀ» ½ÃÄѾߵ˴ϴÙ.

ÅèĹ 4 ¿¡¼­ À¥ ¾îÇø®ÄÉÀ̼ÇÀ» »óÈ£ÀÛ¿ëÇϸ鼭 °³¹ßÀ»Çϰí Å×½ºÆ®¸¦ ÇϱâÀ§Çؼ­, ´ÙÀ½ÀÇ Ãß°¡ targetµéÀÌ Á¤ÀǵǾî¾ß µË´Ï´Ù:

  • install - ¿î¿µÁßÀÎ ÅèĹ 4°¡ °³¹ßÁßÀÎ ¾îÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà°ú Å×½ºÆ®¸¦ Áï½Ã Àû¿ëÇϵµ·Ï ¼³Ä¡¸¦ Áö½ÃÇÕ´Ï´Ù. ÀÌ µ¿ÀÛÀº ÅèĹ 4¸¦ Àç½Ãµ¿ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù¸¸, ÅèĹ Àç½Ãµ¿ ½Ã¿¡´Â ±â¾ïµÇÁö ¾Ê½À´Ï´Ù.

  • reload - ÀÏ´Ü ¾îÇø®ÄÉÀ̼ÇÀÌ ¼³Ä¡µÇ¸é, compile targetÀ» »ç¿ëÇØ¼­ º¯°æÇϰí Àç ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ÅèĹ 4´Â ÀÚµ¿À¸·Î JSP ÆäÀÌÁöÀÇ º¯°æÀ» ÀÎÁöÇÏÁö¸¸, ¼­ºí¸´°ú ÀÚ¹ÙºóÁî Ŭ·¡½º´Â ±×·¸Áö ¾Ê½À´Ï´Ù. ÀÌ targetÀº ÅèĹÀÌ ÇöÀç ¼³Ä¡µÈ ¾îÇø®ÄÉÀ̼ÇÀ» Àç½ÃÀÛÇØ¼­ ±×·¯ÇÑ º¯°æ»çÇ×À» ¹Ý¿µÇϵµ·Ï ÇÕ´Ï´Ù.

  • remove - °³¹ß°ú Å×½ºÆ®¸¦ ¿Ï·áÇßÀ» ¶§, ¼±ÅÃÀûÀ¸·Î ÀÌ ¾îÇø®ÄÉÀ̼ÇÀ» ¼­ºñ½º¿¡¼­ Á¦°ÅÇϵµ·Ï ÅèĹ¿¡ Áö½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.

°³¹ß°ú Å×½ºÆ® targetÀº ´ÙÀ½ ÆäÀÌÁö¿¡¼­ ¼³¸íÇÒ ºÎ°¡ÀûÀÎ ÀÏȸ¼º ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù.


Copyright © 1999-2002, Apache Software Foundation