Ç÷¯±×Àο¡¼ org.eclipse.debug.core.launchConfigurationTypes È®ÀåÁ¡À» »ç¿ëÇÏ¿© Ç÷§Æû¿¡ ½ÇÇà ±¸¼º À¯ÇüÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¸é °íÀ¯ÇÑ ID¸¦ »ç¿ëÇÏ¿© ±¸¼º À¯ÇüÀ» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×Àο¡¼ ILaunchConfigurationDelegateÀÇ ÇØ´çÇÏ´Â ±¸ÇöÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ½ÇÇà±â¿¡¼ Áö¿øÇÏ´Â ¸ðµå(½ÇÇà, µð¹ö±×)¿Í »ç¿ëÀÚ¿¡°Ô ÀÌ À¯ÇüÀÇ ½ÇÇà±â¸¦ º¸¿©ÁÙ ¶§ »ç¿ëÇÑ ¸ðµå¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸¶Å©¾÷¿¡¼´Â Java µµ±¸¿¡¼ ·ÎÄà Java ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ Java ½ÇÇà ±¸¼ºÀ» ¼±¾ðÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
<extension point = "org.eclipse.debug.core.launchConfigurationTypes"> <launchConfigurationType id="org.eclipse.jdt.launching.localJavaApplication" name="%localJavaApplication" delegate="org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate" modes= "run, debug"> </launchConfigurationType> </extension>
µð¹ö±× ¸ðµå¸¦ Áö¿øÇÏ´Â ¸ðµç ½ÇÇà ±¸¼º À¯ÇüÀÇ °æ¿ì ÄÚµåÀÇ ÇöÀç ½ÇÇà ÁöÁ¡¿¡ ÇØ´çÇÏ´Â ¼Ò½º Äڵ带 ãÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ISourceLocator ¹× IPersistableSourceLocator¿¡¼´Â ½ÇÇà ÇÁ·Î±×·¥¿¡¼ ´Ù½Ã ¼Ò½º ÄÚµå·Î ¸ÊÇÎÇϱâ À§ÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÕ´Ï´Ù.
¼Ò½º À§Ä¡ ÁöÁ¤ÀÚ´Â ÀϹÝÀûÀ¸·Î ÇØ´ç ½ÇÇà ±¸¼º ¹× ½ÇÇà ±¸¼º ´ëÇ¥¿Í ÇÔ²² ÀÛµ¿ÇÏ¿© ±¸ÇöµË´Ï´Ù. ½ÇÇà ±¸¼ºÀÌ °è¼Ó À¯ÁöµÉ ¼ö ÀÖÀ¸¹Ç·Î, ¼Ò½º À§Ä¡ ÁöÁ¤ÀÚ ¶ÇÇÑ ½ÇÇà ±¸¼º°ú ÇÔ²² ÀúÀåµÉ ¼ö ÀÖ½À´Ï´Ù. ½ÇÇà ±¸¼ºÀÇ ¼Ó¼ºÀ» ¼Ò½º À§Ä¡ ÁöÁ¤ÀÚÀÇ ID¿¡ ¼³Á¤ÇÏ¸é µË´Ï´Ù. ½ÇÇà ±¸¼ºÀ» µð½ºÅ©¿¡¼ Àд °æ¿ì, ¼Ò½º À§Ä¡ ÁöÁ¤ÀÚÀÇ ID´Â ±¸Çö Ŭ·¡½º¿¡ ´Ù½Ã ¸ÊÇεǾî¾ß ÇÕ´Ï´Ù. ÀÌ´Â org.eclipse.debug.core.sourceLocators È®ÀåÁ¡À» »ç¿ëÇÏ¿© ¼öÇàµË´Ï´Ù.
È®ÀåÁ¡À» »ç¿ëÇϸé IPersistableSourceLocator¸¦ ±¸ÇöÇϴ Ŭ·¡½º¸¦ µî·ÏÇϰí À̸¦ ½ÇÇà ±¸¼º°ú ÇÔ²² ÀúÀåµÈ ID¿Í ¿¬°ü½Ãų ¼ö ÀÖ½À´Ï´Ù. À̸¦ ÅëÇØ ½ÇÇà ±¸¼ºÀ» ÀνºÅϽºÈÇÒ °æ¿ì µð¹ö±× Ç÷¯±×Àο¡¼ ¼Ò½º À§Ä¡ ÁöÁ¤ÀÚ Å¬·¡½º¸¦ IDº°·Î ã¾Æº¼ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸¶Å©¾÷ÀÇ Ãâó´Â Java µµ±¸ÀÔ´Ï´Ù.
<extension point = "org.eclipse.debug.core.sourceLocators"> <sourceLocator id = "org.eclipse.jdt.debug.ui.javaSourceLocator" class="org.eclipse.jdt.debug.ui.JavaUISourceLocator" name="%javaSourceLocator"/> </extension>
Ç÷¯±×Àο¡¼´Â À̸§ ÁöÁ¤µÈ ¼Ó¼º°ú °ªÀ» »ç¿ëÇÏ¿© Áß¿äÇÑ µ¥ÀÌÅ͸¦ ½ÇÇà ±¸¼º°ú ÇÔ²² ÀúÀåÇÕ´Ï´Ù. ¼Ó¼ºÀÇ ÇØ¼®À» Ç÷§Æû¿¡¼ ¾ËÁö ¸øÇϱ⠶§¹®¿¡ ƯÁ¤ ¼Ó¼º¿¡ ´ëÇÑ ºñ±³±â¸¦ Á¦°øÇÒ ¼ö ÀÖµµ·Ï È®ÀåÁ¡ÀÌ Á¦°øµË´Ï´Ù. ÀÌ ºñ±³±â¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ À̸§ÀÇ ¼Ó¼ºÀÌ °°ÀºÁö È®ÀÎÇÕ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì ¼Ó¼ºÀ» ºñ±³ÇÏ´Â µ¥ java.lang.Object.equals(¿ÀºêÁ§Æ®)¿¡¼ Á¦°øÇÑ ´Ü¼øÇÑ ¹®ÀÚ¿ ºñ±³°¡ ÀûÇÕÇÕ´Ï´Ù. ºñ±³±â¸¦ Á¦°øÇÏÁö ¾Ê¾ÒÀ¸¸é ÀÌ ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ±×·¯³ª ÀϺΠ¼Ó¼º °ª¿¡¼´Â °°ÀºÁö ºñ±³Çϱâ Àü¿¡ ÅØ½ºÆ®¿¡¼ °ø¹é °ªÀ» Á¦°ÅÇÏ´Â °Í°ú °°Àº Ư¼öÇÑ Ã³¸®°¡ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.debug.core.launchConfigurationComparators È®ÀåÁ¡À» »ç¿ëÇÏ¿© ºñ±³±â°¡ Á¦°øµË´Ï´Ù.
Java µµ±¸¿¡¼´Â ÇÁ·Î±×·¥ ¼Ò½º °æ·Î¿Í Ŭ·¡½º °æ·Î¸¦ ºñ±³Çϱâ À§ÇØ ½ÇÇà ±¸¼º ºñ±³±â¸¦ Á¦°øÇÕ´Ï´Ù.
<extension point = "org.eclipse.debug.core.launchConfigurationComparators"> <launchConfigurationComparator id = "org.eclipse.jdt.launching.classpathComparator" class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator" attribute = "org.eclipse.jdt.launching.CLASSPATH"/> <launchConfigurationComparator id = "org.eclipse.jdt.launching.sourcepathComparator" class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator" attribute = "org.eclipse.jdt.launching.SOURCE_PATH"/> </extension>