Ç÷¯±×ÀÎÀº ½ÇÇà ±¸¼º À¯ÇüÀ» org.eclipse.debug.core.launchConfigurationTypes È®ÀåÁ¡À» »ç¿ëÇÏ´Â Ç÷§Æû¿¡ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¸é °íÀ¯ ID¸¦ »ç¿ëÇÏ¿© ±¸¼º À¯ÇüÀ» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. À̶§ ÀÌ¿¡ ´ëÀÀÇÏ´Â ILaunchConfigurationDelegate ±¸ÇöÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸ðµå¿¡¼ ½ÇÇà ±¸¼ºÀ» ½ÇÇàÇÏ´Â À§ÀÓÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¼±ÅÃÀûÀ¸·Î ½ÇÇàÀ» Áß´ÜÇÏ°í ½ÇÇà Àü ÀÛ¾÷°ø°£¿¡¼ °ü·Ã ÇÁ·ÎÁ§Æ®¸¦ ºôµåÇÏ¸ç ½ÇÇà ½Ã »ç¿ëÇÒ ½ÇÇà ¿ÀºêÁ§Æ® ÀÛ¼ºÀ» Á¦¾îÇÒ ¼ö ÀÖµµ·Ï À§ÀÓ ÀÎÅÍÆäÀ̽º¸¦ °ÈÇÏ´Â ILaunchConfigurationDelegate2¸¦ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
À§ÀÓÀ» Á¤ÀÇÇÒ »Ó¸¸ ¾Æ´Ï¶ó À§ÀÓ¿¡¼ Áö¿øÇÏ´Â ½ÇÇà ¸ðµå ¹× ÀÌ À¯ÇüÀÇ ½ÇÇà±â¸¦ »ç¿ëÀÚ¿¡°Ô Ç¥½ÃÇÒ ¶§ »ç¿ëÇØ¾ß ÇÏ´Â À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸¶Å©¾÷¿¡¼´Â 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" sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer"> </launchConfigurationType> </extension>
ÀÌ È®Àå¿¡¼´Â ·ÎÄà Java ½ÇÇà ±¸¼ºÀ» »ç¿ëÇÏ¿© ½ÇÇàµÇ´Â ÇÁ·Î±×·¥À» ½ÇÇàÇϰųª µð¹ö±×ÇÒ ¶§ »ç¿ë °¡´ÉÇÑ ½ÇÇà ±¸¼º À§ÀÓÀ» Á¤ÀÇÇÕ´Ï´Ù.
ÀÌÀü¿¡ Ç÷§Æû¿¡¼ ÇÁ·Î±×·¥À» ½ÇÇà, µð¹ö±ë ¶Ç´Â ÇÁ·ÎÆÄÀϸµÇÒ ¶§ »ç¿ëÇÒ ½ÇÇà ¸ðµå¸¦ Á¤ÀÇÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾ð±ÞÇß½À´Ï´Ù. ÀÌ ¸ðµå´Â org.eclipse.debug.core.launchModes È®ÀåÁ¡À» »ç¿ëÇÏ¿© Á¤Àǵ˴ϴÙ. ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¸é ¸ðµå¸¦ ¼³¸íÇÒ ¶§ »ç¿ëÀÚ¿¡°Ô Ç¥½ÃµÇ¾î¾ß ÇÏ´Â ¹®ÀÚ¿ ¸ðµå À̸§ ¹× ·¹À̺íÀ» Á¤ÀÇÇÏ¿© ½ÇÇà ¸ðµå¸¦ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸¶Å©¾÷¿¡¼´Â Ç÷§ÆûÀÇ ¼¼ °¡Áö Ç¥ÁØ ½ÇÇà ¸ðµå Á¤ÀǸ¦ Ç¥½ÃÇÕ´Ï´Ù.
<extension point="org.eclipse.debug.core.launchModes"> <launchMode label="%run" mode="run"> </launchMode> <launchMode label="%debug" mode="debug"> </launchMode> <launchMode label="%profile" mode="profile"> </launchMode> </extension>
¸ðµå°¡ ƯÁ¤ ½ÇÇà ±¸¼º À¯Çü°ú ¿¬°üµÇÁö ¾Ê¾Ò´Ù´Â Á¡¿¡ ÁÖÀÇÇϽʽÿÀ. ÀÌÀü¿¡ Ç¥½ÃµÈ ´ë·Î ÇØ´ç ¿¬°üÀº ±¸¼º À¯Çü¿¡¼ ½ÇÇà À§ÀÓÀ» ÁöÁ¤ÇÑ °æ¿ì¿¡ ³ªÅ¸³³´Ï´Ù.
½ÇÇà ¸ðµå´Â ½ÇÇà ±¸¼º À¯Çü°ú ¹«°üÇÏ°Ô ÁöÁ¤µÉ ¼ö ÀÖÀ¸¹Ç·Î ½ÇÇà ±¸¼ºÀÇ ¿ø·¡ À§ÀÓ¿¡¼ ±¸ÇöÇÏÁö ¾Ê´Â »õ ¸ðµå¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì Ç÷¯±×Àο¡¼ ƯÁ¤ ½ÇÇà ±¸¼º À¯ÇüÀÇ Æ¯Á¤ ¸ðµå¸¦ ±¸ÇöÇÏ´Â ½ÇÇà À§ÀÓÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. org.eclipse.debug.core.launchDelegates È®ÀåÁ¡À» »ç¿ëÇÏ¿© Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®ÀåÁ¡À» »ç¿ëÇϸé ÁöÁ¤µÈ ±¸¼º À¯ÇüÀÇ ÁöÁ¤µÈ ¸ðµå¸¦ ±¸ÇöÇÏ´Â ½ÇÇà À§ÀÓÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸¶Å©¾÷¿¡¼´Â ·ÎÄà Java ÀÀ¿ëÇÁ·Î±×·¥À» ÇÁ·ÎÆÄÀϸµÇÒ ¶§ »ç¿ëÇÒ À§ÀÓÀ» Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» Ç¥½ÃÇÕ´Ï´Ù.
<extension point="org.eclipse.debug.core.launchDelegates"> <launchDelegate id="com.example.MyJavaProfileDelegate" delegate="com.example.MyJavaProfileDelegate" type="org.eclipse.jdt.launching.localJavaApplication" modes="profile"> </launchDelegate> </extension>
À§ÀÓ ½ºÆåÀº ½ÇÇà ±¸¼º À¯ÇüÀ» Á¤ÀÇÇÒ ¶§ ½ÇÇà ±¸¼º À¯ÇüÀÌ Áö¿øµÇ´Â ¸ðµå¿Í ÇÔ²² ÁöÁ¤µÈ´Ù´Â Á¡À» Á¦¿ÜÇϰí,ÀÌ °æ¿ì ¼öÇàÇÏ´Â ¹æ¹ý°ú À¯»çÇÏ°Ô ¼öÇàµË´Ï´Ù. ÀÌÀü¿¡ Ç¥½ÃµÈ ´ë·Î À§ÀÓ¿¡¼´Â ILaunchConfigurationDelegate¸¦ ±¸ÇöÇØ¾ß ÇÏ¸é ¼±ÅÃÀûÀ¸·Î ½ÇÇà ¼ø¼¸¦ Á¦¾îÇϵµ·Ï ILaunchConfigurationDelegate2¸¦ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
We Have Lift-off: The Launching Framework in Eclipse¿¡¼´Â °íÀ¯ÇÑ ½ÇÇà À¯ÇüÀ» Á¤ÀÇÇÏ´Â ¿¹Á¦¸¦ ÀÚ¼¼È÷ Á¦°øÇÕ´Ï´Ù.