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 ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡¼ ´ÙÀ½°ú °°ÀÌ Å¸ÀÌÇÎÇÏ¸é µË´Ï´Ù:
óÀ½ »ç¿ëÇÏ´Â ºÐµéÀ» À§Çؼ, 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Àº ´ÙÀ½ ÆäÀÌÁö¿¡¼ ¼³¸íÇÒ ºÎ°¡ÀûÀÎ ÀÏȸ¼º ¼³Á¤ÀÌ
ÇÊ¿äÇÕ´Ï´Ù.
|
|