Ç÷¯±×Àο¡¼ Ant Ÿ½ºÅ©¿Í À¯ÇüÀ» Á¦°øÇÒ °æ¿ì Ÿ½ºÅ©¿Í À¯Çü¿¡¼´Â Á¦°øÇÏ´Â Ç÷¯±×ÀÎ ³»ÀÇ ¸ðµç Ŭ·¡½º¿¡ ´ëÇÑ ¾×¼¼½º¸¦ °®°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, org.eclipse.core.resources Ç÷¯±×Àο¡¼ Á¦°øÇÑ eclipse.refreshLocal Ÿ½ºÅ©´Â IResource.refreshLocal() ¸Þ¼ÒµåÀÇ ·¦ÆÛÀÔ´Ï´Ù.
Ç÷¯±×Àο¡¼ Á¦°øÇÑ Å¸½ºÅ©¿Í À¯ÇüÀº Ç÷¯±×ÀÎ ¶óÀ̺귯¸®¿¡ ÀÖÀ» ¼ö ¾øÀ¸¸ç, º°µµÀÇ JAR¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. À̰ÍÀº Ç÷¯±×ÀΠŬ·¡½º´Â Ç÷¯±×Àο¡¼ Á¦°øÇÑ Å¸½ºÅ©¿Í À¯Çü¿¡ ´ëÇÑ ¾×¼¼½º¸¦ °®°í ÀÖÁö ¾ÊÀ½À» ÀǹÌÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Ÿ½ºÅ©¿Í À¯Çü¿¡ ´ëÇÑ º°µµÀÇ JAR°¡ ÇÊ¿äÇÑ ÀÌÀ¯¸¦ ÂüÁ¶ÇϽʽÿÀ.
org.eclipse.ant.core.antTasks È®ÀåÁ¡¿¡¼´Â plugin.xml ÆÄÀÏ¿¡ »õ Ÿ½ºÅ©¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ý ¿¹Á¦¸¦ Á¦°øÇÕ´Ï´Ù.
Eclipse Ant Áö¿ø¿¡¼´Â AntRunner¸¦ È£ÃâÇÒ ¶§ Àü´ÞµÈ °æ¿ì IProgressMonitor¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. ÁøÇà ¸ð´ÏÅÍ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ °®´Â ÀåÁ¡ Áß Çϳª´Â ¿À·¡ ½ÇÇàµÇ´Â Ÿ½ºÅ©¿¡¼ »ç¿ëÀÚ°¡ ½ÇÇà Ãë¼Ò¸¦ ¿äûÇß´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. ÁøÇà ¸ð´ÏÅÍ ¿ÀºêÁ§Æ®´Â Ant ÇÁ·ÎÁ§Æ®ÀÇ ÂüÁ¶¿¡¼ °¡Á®¿É´Ï´Ù. ¿Ã¹Ù¸¥ ÁøÇà ¸ð´ÏÅ͸¦ »ç¿ëÇÏ¿© AntRunner.run(IProgressMonitor) ¸Þ¼Òµå¸¦ È£ÃâÇÑ °æ¿ì¿¡¸¸ ¸ð´ÏÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.´ÙÀ½ ÄÚµå ½º´ÏÆê¿¡¼´Â Ÿ½ºÅ©ÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ ÁøÇà ¸ð´ÏÅ͸¦ °¡Á®¿À´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.eclipse.ant.core.AntCorePlugin; import org.eclipse.core.runtime.IProgressMonitor; public class CoolTask extends Task { public void execute() throws BuildException { IProgressMonitor monitor = (IProgressMonitor) getProject().getReferences().get(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR); if (monitor == null) { ... } else { ... } } }
´ÙÀ½À» Ç÷¯±×ÀÎ °³¹ßÀÚÀÇ °Ë»ç ¸ñ·ÏÀ¸·Î »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
Ç÷¯±×ÀÎ ¸ðµ¨¿¡ Àß ¸ÂÁö ¾Ê´Â Eclipse¿¡¼ Ant¸¦ ½ÇÇàÇϱâ À§ÇÑ ±âº»ÀûÀÎ µÎ °¡Áö ¿ä±¸»çÇ×ÀÌ ÀÖ½À´Ï´Ù.
·±Å¸ÀÓ Áß¿¡ Ç÷¯±×ÀΠŬ·¡½º ·Î´õ´Â ÀÚ½ÅÀÇ Å¬·¡½º °æ·Î¸¦ ÆîÄ¥ ¼ö ¾ø°í Ç÷¯±×Àο¡¼ ÇØ´ç Á¾¼Ó¼ºÀ» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. µ¿½Ã¿¡ Ÿ½ºÅ©¿Í À¯Çü¿¡ ´ëÇÑ º°µµÀÇ JAR¸¦ °®°í ÀÖÀ¸¸é Ç÷¯±×ÀΠŬ·¡½º ·Îµù ¸ÞÄ¿´ÏÁò¿¡¼ Á¦´ë·Î ºÐ¸®µÉ ¼ö ÀÖ°í, Ç÷¯±×Àο¡¼ ¼±¾ðÇÑ º°µµÀÇ JAR¸¦ °®°í ÀÖÀ¸¸é Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀ» Ant Ŭ·¡½º °æ·Î¿¡µµ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.