ÀÌ ¼½¼Ç¿¡¼´Â 3.0 ¸ÞÄ¿´ÏÁò ¹× API¸¦ äÅÃÇϵµ·Ï 2.1 Ç÷¯±×ÀÎÀ» º¯°æÇÏ·Á´Â °æ¿ì ÇÊ¿äÇÑ º¯°æ»çÇ׿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Eclipse 3.0 ·±Å¸ÀÓÀº »ó´çÈ÷ ´Ù¸¨´Ï´Ù. ±âº»ÀûÀÎ ±¸ÇöÀÌ OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆåÀ» ±âÃÊ·Î ÇÕ´Ï´Ù. Eclipse 3.0 ·±Å¸ÀÓ¿¡´Â 2.1 API¸¦ À¯Áöº¸¼öÇϴ ȣȯ¼º °èÃþ(org.eclipse.core.runtime.compatibility Ç÷¯±×Àο¡¼)ÀÌ Æ÷ÇԵ˴ϴÙ. Ãß°¡ ¼º´É ¹× ±â´É¿¡µµ °ü½ÉÀÌ ÀÖ´Â Ç÷¯±×ÀÎ °³¹ßÀÚ´Â 3.0 API¸¦ äÅÃÇϰí ȣȯ¼º °èÃþ¿¡¼ Á¾¼Ó¼ºÀ» Á¦°ÅÇÒ °ÍÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ȣȯ¼º ÄÚµå´Â ¼¼ °÷¿¡¼ Ç¥½ÃµË´Ï´Ù.
¾Æ·¡ÀÇ ÅØ½ºÆ®´Â ȣȯ¼º ¸ñÀû°ú Ç÷¯±×ÀÎ °»½Å ¹æ¹ý ¾È³»¸¦ À§ÇÑ Å¬·¡½º ¹× ¸Þ¼Òµå¿¡ °üÇÑ ¼¼ºÎ»çÇ×À» Á¦°øÇÕ´Ï´Ù.
Eclipse ·±Å¸ÀÓÀº µÎ ºÎºÐÀ¸·Î ¸®ÆÑÅ丵µÇ¾ú½À´Ï´Ù. Ŭ·¡½º·Îµù ¹× ÀüÁ¦Á¶°Ç °ü¸®¿Í È®Àå/È®ÀåÁ¡ °ü¸®ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ºÐÇҷΠŬ·¡½º·Îµù ¹× ÀüÁ¦Á¶°Ç °ü¸®¿¡ ´ëÇÑ OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆåÀ» ÀÚ¿¬½º·´°Ô/ÇѰᰰÀÌ Ã¤ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. À̷μ µ¿Àû Ç÷¯±×ÀÎ ¼³Ä¡/¼³Ä¡ Á¦°Å/°»½Å¿¡¼ º¸¾È ¹× ±¸¼º °¡´É¼º Áõ°¡¿¡ À̸£±â±îÁö ·±Å¸ÀÓ¿¡¼ ±¤¹üÀ§ÇÑ »õ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°è¼ÓÇØ¼ Ç÷¯±×Àο¡ ´ëÇØ À̾߱âÇϰí Àִµ¥, »õ ·±Å¸ÀÓ¿¡¼´Â Ç÷¯±×ÀÎÀÌ ½ÇÁ¦·Î ¹øµé¿¡ ÀϺΠȮÀå ¹× È®ÀåÁ¡À» ´õÇÑ °ÍÀÔ´Ï´Ù. ¹øµéÀ̶ó´Â ¿ë¾î´Â OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆå¿¡¼ Á¤ÀǵǾî ÀÖÀ¸¸ç À¯Çü ¹× ÀÚ¿ø°ú ÀÌ¿¡ ¿¬°üµÇ´Â ¹øµé°£ ÀüÁ¦Á¶°Ç Á¤º¸ÀÇ ÄÝ·º¼ÇÀ» ¸»ÇÕ´Ï´Ù. È®Àå ·¹Áö½ºÆ®¸®´Â Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®ÀÇ »õ ¾ç½ÄÀ¸·Î È®Àå ¹× È®ÀåÁ¡ Á¤º¸¸¸ ÀÚ¼¼È÷ ¼³¸íÇÕ´Ï´Ù. ´ëü·Î È®Àå ·¹Áö½ºÆ®¸® API´Â °ü·ÃµÈ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® API¿Í °°½À´Ï´Ù. (ÀÚ¼¼ÇÑ Á¤º¸´Â ·¹Áö½ºÆ®¸®¸¦ ÂüÁ¶ÇϽʽÿÀ.)
Eclipse 2.x ·±Å¸ÀÓ¿¡¼, Ç÷¯±×ÀÎ ¿ÀºêÁ§Æ®´Â ¿©·¯ °³ÀÇ ¿ªÇÒ ¹× Ã¥ÀÓÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
Eclipse 3.0 ·±Å¸ÀÓ ±×¸²¿¡¼, ÀÌ ¿ªÇÒ°ú Ã¥ÀÓÀº º°µµÀÇ ¿ÀºêÁ§Æ®·Î ÆÑÅ͸µµË´Ï´Ù.
Ç÷¯±×ÀÎÀº ¶ÇÇÑ BundleActivator¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌ´Â Ç÷¯±×ÀÎÀÇ ¶óÀÌÇÁ»çÀÌŬ ¹× ½Ã¸ÇƽÀ» Ç¥½ÃÇÏ´Â ÇϳªÀÇ Á᫐ ¿ÀºêÁ§Æ®¸¦ °¡Áö°í ÀÖÀ» °æ¿ìÀÇ Æí¸®¼ºÀ» ÀνÄÇÕ´Ï´Ù. ±×·¯³ª ÀÌ´Â ¿À´Ã³¯ Ç÷¯±×Àο¡ °øÅëµÇ´Â, µ¥ÀÌÅÍ ±¸Á¶¿¡ ´ëÇÑ Æí¸®ÇÑ ÃʱâȰ¡ Àû¿ëµÇÁö´Â ¾Ê½À´Ï´Ù. ¾î¶² ´Ù¸¥ Ç÷¯±×Àο¡¼ Ŭ·¡½º¸¦ °ËÁõÇÏ´Â µ¿¾È ´Ù¼Ò Áß¿äÇÏÁö ¾ÊÀº Ŭ·¡½º°¡ ÂüÁ¶µÇ¾úÀ¸¹Ç·Î Ç÷¯±×ÀÎÀÌ È°¼ºÈµÉ ¼ö ÀÖ´Ù°í ÃæºÐÈ÷ °Á¶ÇÒ ¼ö ¾ø½À´Ï´Ù. Áï, »ç¿ëÀÚÀÇ Ç÷¯±×ÀÎÀÌ È°¼ºÈµÇ¾ú´Ù°í ÇØ¼ ÇØ´ç ±â´ÉÀÌ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ÀǹÌÇÏÁö´Â ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ ´Ù¸¥ BundleActivator Ŭ·¡½º¸¦ Á¤ÀÇÇÏ´Â °ÍÀº »ç¿ëÀÚ¿¡°Ô ´Þ·Á ÀÖÀ¸¸ç Á¤ÀÇÇÏÁö ¾ÊÀ» °æ¿ì ¹øµé Ȱ¼ºÈ±â¸¦ ÀüÇô °¡Áö°í ÀÖÁö ¾ÊÀ½À» À¯ÀÇÇϽʽÿÀ.
2.x Ç÷¯±×ÀΠŬ·¡½º¸¦ Eclipse 3.0À¸·Î À̽ÄÇÏ´Â µ¥ ÇÊ¿äÇÑ ´Ü°è´Â Ŭ·¡½º°¡ ¼öÇà ÁßÀÎ ´ë»ó¿¡ µû¶ó ´Ù¸¨´Ï´Ù. À§¿¡ ¿ä¾àµÈ °Íó·³, ´ëºÎºÐÀÇ ½ÃÀÛ ¶óÀÌÇÁ»çÀÌŬ ÀÛ¾÷Àº ´ÙÀ½ Ä«Å×°í¸® Áß Çϳª¿¡ ¼ÓÇÕ´Ï´Ù.
»õ ·±Å¸ÀÓ¿¡¼´Â Ç÷¯±×ÀÎÀ» ½ÇÇàÇÏ´Â µ¥ ÇÊ¿äÇϸç Ç÷¯±×ÀÎ È®Àå ¹× È®ÀåÁ¡¿¡ °ü·ÃµÇ´Â Á¤º¸ ¹× ±¸Á¶ »çÀÌ¿¡ ±¸ºÐµÇ¾î ÀÖ½À´Ï´Ù. ÀüÀÚ´Â OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆå¿¡ ÀÇÇØ Á¤ÀÇ ¹× °ü¸®µÇ°í ÈÄÀÚ´Â Eclipse ƯÁ¤ °³³äÀ¸·Î Eclipse ·±Å¸ÀÓ ÄÚµå·Î Ãß°¡µË´Ï´Ù. ÀÌ¿¡ µû¶ó, ¿ø·¡ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® ¹× °ü·Ã ¿ÀºêÁ§Æ®°¡ OSGi ¹øµé ¹× Eclipse È®Àå ·¹Áö½ºÆ®¸®·Î ºÐÇҵǾú½À´Ï´Ù.
½ÇÇà ½ºÆå(¿¹: IPluginDescriptor, ILibrary, IPrequisite)À» ´Ù·ç´Â IPluginRegistryÀÇ ÆÄÆ®°¡ Æó±âµÇ°í È®Àå ¹× È®ÀåÁ¡¿¡ °ü·ÃµÇ´Â ³ª¸ÓÁö ÆÄÆ®´Â IExtensionRegistry·Î À̵¿µÇ¾ú½À´Ï´Ù. °Ô´Ù°¡ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¿¡ °ü·ÃµÇ´Â À̸¥¹Ù ¸ðµ¨ ¿ÀºêÁ§Æ®µµ ÀÌÁ¦ ÀüüÀûÀ¸·Î Æó±âµÇ¾ú½À´Ï´Ù. ÀÌ À¯ÇüµéÀº ±âº»ÀûÀ¸·Î PDE¿Í °°Àº µµ±¸¸¦ Áö¿øÇϱâ À§ÇØ ·±Å¸ÀÓ¿¡¼ Á¦½ÃµÇ°í ÀνºÅϽº°¡ ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ºÒÇàÈ÷µµ, ÇÊ¿äÇÑ Á¤º¸ ·¹º§ÀÌ ·±Å¸ÀÓÀÇ ±â´É ¶Ç´Â °ü½É(¿¹: plugin.xml ¿ä¼ÒÀÇ Çà ¹øÈ£ ±â¾ï)À» ÃʰúÇÏ°í °á±¹ ·±Å¸ÀÓ Á¤º¸ÀÇ ÀáÀçµÈ ÀÌ¿ëÀÚ°¡ ÀÚ½ÅÀÇ ±¸Á¶¸¦ ¾î¶»°ÔµçÁö À¯ÁöÇØ¾ß ÇÏ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ¾ú½À´Ï´Ù.
»õ ·±Å¸ÀÓ¿¡¼´Â ·±Å¸ÀÓÀÌ Á¦°øÇÏ´Â ±â´ÉÀ» ´Ù½Ã Æò°¡ÇßÀ¸¸ç, ÀÌÁ¦´Â ·±Å¸ÀÓ ½ÇÇà¿¡ Áß¿äÇϰųª ´Ù¸¥ ´ë»ó¿¡°Ô´Â ¼öÇàÇϱⰡ ¾öû ¾î·Á¿î ±â´É¸¸ Á¦°øÇÕ´Ï´Ù. À§¿¡ ¾ð±ÞµÈ °Íó·³, Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® ¸ðµ¨ ¿ÀºêÁ§Æ®°¡ Æó±âµÇ¾ú½À´Ï´Ù. Ç÷¯±×ÀÎ ±¸¹® ºÐ¼® API¸¦ °¡Áö°í Àֱ⠶§¹®ÀÔ´Ï´Ù. »õ È®Àå ·¹Áö½ºÆ®¸®´Â Áß¿äÇÑ È®Àå °ü·Ã Á¤º¸¸¦ À¯Áöº¸¼öÇÕ´Ï´Ù. »õ »óÅÂ(org.eclipse.osgi.service.resolver.State ¹× ÀÏ¿ø ÂüÁ¶) ±¸Á¶°¡ Á¦½ÃµÇ¸ç Áß¿äÇÑ ½ÇÇà °ü·Ã Á¤º¸¸¦ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
Eclipse 3.0¿¡¼´Â NL ´ÜÆí ±¸Á¶°¡ ´õ Àϰü¼ºÀ» À¯ÁöÇϵµ·Ï °»½ÅµÇ¾ú½À´Ï´Ù. ÀÌÀü¿¡´Â plugin.properties¿Í °°Àº ÆÄÀÏÀÇ º¯È¯ÀÌ ´ÜÆí¿¡ ÀÇÇØ Á¦°øµÇ´Â JAR ¾È¿¡ ÀÖ´Â °ÍÀ¸·Î °¡Á¤Çß½À´Ï´Ù. ¿ø·¡ ÆÄÀÏÀº °ü·Ã È£½ºÆ® Ç÷¯±×ÀÎ ·çÆ®¿¡¼ ¹ß°ßµÇ¹Ç·Î, ´õ Àϰü¼º ÀÖ´Â À§Ä¡¿¡¼ NL ´ÜÆíÀÇ ·çÆ®¿¡ ÀÖ´Â º¯È¯µÈ ÆÄÀÏÀ» °®°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
org.eclipse.ui.workbench.nl/ fragment.xml plugin_fr.properties plugin_pt_BR.properties ... nl1.jar
¿©±â¿¡¼ nl1.jar ÆÄÀÏÀº ÀÌÀü¿¡ plugin.properties¿¡ ´ëÇÑ º¯È¯À» Æ÷ÇÔÇϵµ·Ï µÇ¾î ÀÖ¾ú½À´Ï´Ù. ÀÌ ÆÄÀÏÀº ÀÌÁ¦ ´ÜÆíÀÇ ·çÆ®¿¡ ÀÖÀ¸¸ç JARÀÌ È£½ºÆ® Ç÷¯±×Àο¡¼ º¯È¯ °¡´É ÀÚ¿ø(Áï, Ŭ·¡½º ·Î´õ¸¦ ÅëÇØ ·ÎµåµÇ´Â ÆÄÀÏ)ÀÇ º¯È¯À» Æ÷ÇÔÇÕ´Ï´Ù.
¹°·Ð Eclipse 2.1 NL ´ÜÆí ±¸Á¶´Â °è¼Ó Eclipse 3.0¿¡¼ ½ÇÇàµÇ´Â 2.1 È£½ºÆ® Ç÷¯±×Àο¡ ´ëÇØ Áö¿øµË´Ï´Ù. ±×·¯³ª 3.0 Ç÷¯±×Àο¡¼´Â 2.1 NL ´ÜÆíÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ´ÜÆíÀº »õ ±¸Á¶·Î °»½ÅÇØ¾ß ÇÕ´Ï´Ù.
Àüü org.eclipse.core.boot ÆÐŰÁö°¡ Æó±âµÇ¾ú½À´Ï´Ù. BootLoader´Â ´õ ÀÌ»ó ½Ãµ¿ ¹× ·±Å¸ÀÓ »çÀÌÀÇ ºÐÇÒÀ» ÀνÄÇÏÁö ¸øÇϹǷΠorg.eclipse.core.runtime.Platform°ú º´ÇյǾú½À´Ï´Ù. »ç½Ç, org.eclipse.core.boot Ç÷¯±×ÀÎÀº ±¸ºÐµÇ¾î ÇØ´çµÇ´Â ¸ðµç Äڵ尡 »õ ·±Å¸ÀÓ ¶Ç´Â ȣȯ¼º °èÃþÀ¸·Î À̵¿µÇ¾ú½À´Ï´Ù.
IPlatformConfigurationÀº Ç×»ó Eclipse ¼³Ä¡/°»½Å ÄÄÆ÷³ÍÆ®¿¡ ÀÇÇØ(´ëÇØ) Á¤ÀÇµÈ À¯ÇüÀ̾ú½À´Ï´Ù. ·±Å¸ÀÓ À籸¼ºÀ¸·Î, ÀÌ À¯ÇüÀ» ÀûÀýÇÑ È¨À¸·Î º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â ´ë±Ô¸ð·Î º¯°æµÇÁö ¾ÊÀºÃ¤ À¯ÁöµÇ¸ç org.eclipse.update.configurator.IPlatformConfigurationÀ¸·Î ´Ù½Ã ÆÐŰ¡µÇ¾ú½À´Ï´Ù.
IPlatformRunnableÀº org.eclipse.core.runtime.IPlatformRunnable·Î À̵¿µÇ¾ú½À´Ï´Ù.
getDeclaringPlugin()
¸Þ¼Òµå(µÎ Ŭ·¡½º ¸ðµÎÀÇ)´Â
È®Àå ¶Ç´Â È®ÀåÁ¡À» ¼±¾ðÇÏ´Â Ç÷¯±×Àο¡ °¢°¢ »óÇâ ¸µÅ©¸¦ Á¦°øÇÕ´Ï´Ù.
»õ ·¹Áö½ºÆ®¸® ¸ðµ¨Àº Ç÷¯±×ÀÎÀÇ ½ÇÇà Ãø¸éÀ» È®Àå/È®ÀåÁ¡ Ãø¸é°ú
ºÐ¸®ÇÏ°í ´õ ÀÌ»ó IPluginDescriptors¸¦ Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌ APIÀÇ »ç¿ëÀÚ´Â IExtension ¹× IExtensionPoint¿¡¼
¹ß°ßµÇ´Â »õ ¸Þ¼Òµå getParentIdentifier()¸¦ °í·ÁÇØ¾ß ÇÕ´Ï´Ù.
¿ø·¡ ·±Å¸ÀÓ¿¡¼, Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®´Â ·±Å¸ÀÓ ±¸¼ºÀÇ Àüü ±×¸²À» À¯Áöº¸¼öÇß½À´Ï´Ù. Eclipse 3.0¿¡¼´Â ÀÌ ±×¸²ÀÌ OSGi ÇÁ·¹ÀÓ¿öÅ© ¹× È®Àå ·¹Áö½ºÆ®¸®¿¡ °ÉÃÄ ºÐÇҵ˴ϴÙ. ÀÌ¿¡ µû¶ó ÇØ´ç Ŭ·¡½º°¡ Æó±âµÇ¾ú½À´Ï´Ù. Æó±â ÁÖÀÇ»çÇ׿¡´Â ÄÚµå °»½Å ¹æ¹ýÀÌ ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
»õ ·±Å¸ÀÓ¿¡¼´Â Plugin ¿ÀºêÁ§Æ®°¡ ´õ ÀÌ»ó ·±Å¸ÀÓ¿¡ ÀÇÇØ °ü¸®µÇÁö ¾ÊÀ¸¹Ç·Î Ç÷§ÆûÀ» ÅëÇØ ÀϹÝÀûÀ¸·Î ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù. ¸¶Âù°¡Áö·Î, Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®´Â ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾Ê°Å³ª Ç÷¯±×ÀÎ ¼³¸íÀÚ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. ±×·¯³ª »ç¿ëÇÒ ¼ö ÀÖ´Â ÀûÀýÇÑ ´ëü ¸Þ¼Òµå°¡ ÀÖÀ¸¸ç ÀÌ Å¬·¡½º¿¡¼ Æä±âµÈ ¸Þ¼ÒµåÀÇ Javadoc¿¡ ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
ÀÌ ÆÐŰÁöÀÇ ¸ðµç À¯ÇüÀÌ Æó±âµÇ¾ú½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ·¹Áö½ºÆ®¸® ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.
IWorkspace.run(IWorkspaceRunnable,IProgressMonitor) ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÑ À§Ä¡¿¡ ´Ù½Ã °ËÅäÇÏ¿© ´õ dzºÎÇÑ IWorkspace.run(IWorkspaceRunnable,ISchedulingRule,int,IProgressMonitor) ¸Þ¼Òµå¸¦ »ç¿ëÇÒ °ÍÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ÀÌÀü IWorkspace.run ¸Þ¼Òµå´Â IWorkspaceRunnable Áö¼Ó ±â°£ µ¿¾È Àüü ÀÛ¾÷°ø°£¿¡ ´ëÇÑ Àá±ÝÀ» ȹµæÇÕ´Ï´Ù. ÀÌ´Â ÀÌ ¸Þ¼Òµå·Î ¼öÇàµÈ Á¶ÀÛÀÌ ÀÛ¾÷°ø°£À» º¯°æÇÏ´Â ´Ù¸¥ Á¶ÀÛ°ú µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ¾øÀ½À» ÀǹÌÇÕ´Ï´Ù. Eclipse 3.0¿¡¼, ¸¹Àº Àå±â ½ÇÇà Á¶ÀÛÀÌ ¹é±×¶ó¿îµå ½º·¹µå·Î À̵¿µÇ¾úÀ¸¹Ç·Î, Á¶ÀÛ »çÀÌÀÇ Ãæµ¹ ¹ß»ý °¡´É¼ºÀÌ È®½ÇÇÏ°Ô ³ô¾ÆÁ³½À´Ï´Ù. ¸ð´Þ Àü°æ Á¶ÀÛÀÌ Àå±â ½ÇÇà ¹è°æ Á¶ÀÛÀ¸·Î ºí·ÏÈµÈ °æ¿ì, ¹è°æ Á¶ÀÛÀÌ ¿Ï·áµÇ°Å³ª Á¶ÀÛ Áß Çϳª°¡ Ãë¼ÒµÉ ¶§±îÁö UI´Â ºí·Ïȵ˴ϴÙ.
Á¦¾ÈµÇ´Â ¼Ö·ç¼ÇÀº ¸ðµç ÂüÁ¶¸¦ ÀÌÀü IWorkspace.runÀ¸·Î ÀüȯÇÏ¿©
½ºÄÉÁÙ¸µ ±ÔÄ¢ ¸Å°³º¯¼ö¿Í ÇÔ²² »õ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ½ºÄÉÁÙ¸µ ±ÔÄ¢Àº
ÇØ´ç Á¶ÀÛ¿¡ ÀÇÇØ ¼öÇàµÇ´Â ¸ðµç º¯°æ»çÇ׿¡ ÇØ´çµÇ´Â ±ÔÄ¢À» Æ÷ÇÔÇÏ´Â °¡Àå
¼¼¹ÐÇÑ ±ÔÄ¢À̾î¾ß ÇÕ´Ï´Ù. Á¶ÀÛÀÌ ½ºÄÉÁÙ¸µ ±ÔÄ¢ ¹üÀ§ ¹Û¿¡¼ ÀÚ¿øÀ» ¼öÁ¤ÇÏ·Á°í ÇÒ °æ¿ì
·±Å¸ÀÓ ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù. ÁöÁ¤µÈ ÀÛ¾÷°ø°£ Á¶ÀÛ¿¡ ÇÊ¿äÇÑ Á¤È®ÇÑ ½ºÄÉÁÙ¸µ ±ÔÄ¢ÀÌ
ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¹Ç·Î, ÁöÁ¤µÈ ÇÁ·ÎÁ§Æ®¿¡ ¼³Ä¡µÈ ÀúÀå¼Ò Á¦°øÀÚ¿¡ µû¶ó
º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÑÅ丮
IResourceRuleFactory
¸¦ »ç¿ëÇÏ¿© resource-changing Á¶ÀÛ¿¡ ÇØ´çµÇ´Â
½ºÄÉÁÙ¸µ ±ÔÄ¢À» È®º¸ÇØ¾ß ÇÕ´Ï´Ù. ¿øÇÒ °æ¿ì MultiRuleÀ» »ç¿ëÇÏ¿©
¿©·¯ °³ÀÇ ÀÚ¿ø ±ÔÄ¢À» ÁöÁ¤Çϰí MultiRule.combine Æí¸® ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©
´Ù¾çÇÑ resource-changing Á¶ÀÛÀÇ ±ÔÄ¢À» °áÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù.
Àá±ÝÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ» °æ¿ì, null ½ºÄÉÁÙ¸µ ±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̷μ ½ÇÇà ÇÁ·Î±×·¥ÀÌ ÀÛ¾÷°ø°£¿¡ ÀÖ´Â ¸ðµç ÀÚ¿øÀ» ¼öÁ¤ÇÒ ¼ö ÀÖÁö¸¸ ´Ù¸¥ ½º·¹µå°¡ µ¿½Ã¿¡ ÀÛ¾÷°ø°£À» ¼öÁ¤ÇÏÁö ¸øÇϵµ·Ï ¹æÁöÇÏÁö´Â ¸øÇÕ´Ï´Ù. ÀÛ¾÷°ø°£¿¡ ´ëÇÑ ´Ü¼ø º¯°æÀÇ °æ¿ì ÀÌ´Â Á¾Á¾ °¡Àå ½¬¿ì¸é¼ °¡Àå µ¿½Ã¼ºÀÌ Àͼ÷ÇÑ ¼Ö·ç¼ÇÀÔ´Ï´Ù.
selection
À¸·ÎºÎÅÍ filteredSelection
À» °è»êÇØ¾ß ÇÕ´Ï´Ù.IStructuredSelection filteredSelection = selection;
List selectedResources = IDE.computeSelectedResources(currentSelection);
if (!selectedResources.isEmpty()) {
filteredSelection = new
StructuredSelection(selectedResources);
}
IStructuredSelection filteredSelection = selection;
List selectedResources = IDE.computeSelectedResources(currentSelection);
if (!selectedResources.isEmpty()) {
filteredSelection = new
StructuredSelection(selectedResources);
}
if (selection.isEmpty()) { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window != null) { IWorkbenchPart part = window.getPartService().getActivePart(); if (part instanceof IEditorPart) { IEditorInput input = ((IEditorPart) part).getEditorInput(); if (input instanceof IFileEditorInput) { selection = new StructuredSelection(((IFileEditorInput) input).getFile()); } } } }
IActionBars actionBars= getActionBars(); if (actionBars != null) { actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(textEditor, IDEActionFactory.ADD_TASK.getId())); actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(textEditor, IDEActionFactory.BOOKMARK.getId())); }
ÀÌÁ¦´Â ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¸í½ÃÀû °³³äÀÌ ÀÖ½À´Ï´Ù. Annotation.getType() ¹× Annotation.setType()À» ÂüÁ¶ÇϽʽÿÀ. ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº ¶óÀÌÇÁ»çÀÌŬ Áß¿¡ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ È®ÀåÁ¡Àº ¾î³ëÅ×ÀÌ¼Ç À¯Çü ¼±¾ð "org.eclipse.ui.editors.annotationTypes"À» À§ÇØ Ãß°¡µÇ¾ú½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯Çü¿¡´Â À̸§ÀÌ ÀÖ¾î¼ ¼±¾ðµÈ ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ÇÏÀ§ À¯ÇüÀ¸·Î ¼±¾ðµÉ ¼ö ÀÖ½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯Çü ¼±¾ðÀº "markerType" ¹× "markerSeverity" ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÈ À¯ÇüÀÇ ¸¶Ä¿¿Í ÁöÁ¤µÈ ½É°¢µµ°¡ ƯÁ¤ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¾î³ëÅ×À̼ÇÀ¸·Î ÅØ½ºÆ® ÆíÁý±â¿¡ Ç¥½ÃµÇµµ·Ï ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. "org.eclipse.ui.editors.markerAnnotationSpecification"¿¡¼ "markerType" ¹× "markerSeverity" ¼Ó¼ºÀº ´õ ÀÌ»ó »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ¸¶Ä¿¿Í´Â °ü°è°¡ ¾ø°Ô µÇ¹Ç·Î À̸§ÀÌ À߸øµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª À̸§Àº ¿ªÈ£È¯¼ºÀ» À§ÇØ º¸Á¸µË´Ï´Ù.
AbstractMarkerAnnotationModelÀÇ ¼ºêŬ·¡½º ÀνºÅϽº´Â ¸¶Ä¿·ÎºÎÅÍ ÀÛ¼ºÇÏ´Â ¾î³ëÅ×À̼ǿ¡ ´ëÇØ ÀÚµ¿À¸·Î ¿Ã¹Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» ¹ß°ßÇÏ¿© ¼³Á¤ÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸¶Ä¿³ª ÁöÁ¤µÈ markerType ¹× markerSeverity ½Ö¿¡ ÇØ´çµÇ´Â ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» ÇÁ·Î±×·¥ ¹æ½ÄÀ¸·Î °Ë»öÇÏ·Á¸é org.eclipse.ui.texteditor.AnnotationTypeLookupÀ» »ç¿ëÇϽʽÿÀ.
¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ °èÃþ ±¸Á¶¿¡ ´ëÇÑ ¾×¼¼½º´Â IAnnotationAccessExtensionÀÌ Á¦°øÇÕ´Ï´Ù. ÁöÁ¤µÈ ¾î³ëÅ×ÀÌ¼Ç À¯Çü¿¡ ´ëÇØ »óÀ§ À¯Çü üÀÎÀ» °¡Á®¿À°í ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÌ ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ »óÀ§ À¯ÇüÀÎÁö È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. DefaultMarkerAnnotationAccess´Â ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.
¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº ¿¬°üµÈ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀ» ã´Â ŰÀÔ´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» È®ÀåÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆå »çÀÌ¿¡´Â ³»ÀçµÈ °ü°è°¡ ÀÖ½À´Ï´Ù. µû¶ó¼ ÁöÁ¤µÈ ¾î³ëÅ×ÀÌ¼Ç À¯Çü¿¡ ´ëÇÑ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ÁöÁ¤µÈ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ »óÀ§ À¯Çü¿¡ ´ëÇØ Á¦°øµÈ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆå¿¡ ÀÇÇØ ¿Ï·áµË´Ï´Ù. µû¶ó¼ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ÀÌÀü¿¡ ÇÊ¿äÇßÀ¸¹Ç·Î ¿Ï·áÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº AnnotationPreferences¿¡ ÀÇÇØ °Ë»öµË´Ï´Ù. org.eclipse.ui.texteditor.AnnotationPreferenceLookupÀ» »ç¿ëÇÏ¿©, ¾î³ëÅ×ÀÌ¼Ç »óÀ§ À¯Çü üÀο¡ µû¶ó ȯ°æ ¼³Á¤ ¿Ï·á¸¦ Åõ¸íÇÏ°Ô ¼öÇàÇÏ´Â ÁöÁ¤µÈ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¾î³ëÅ×ÀÌ¼Ç È¯°æ ¼³Á¤À» °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ¼¼·Î ´«±ÝÀÚ¿¡¼ ÁöÁ¤µÈ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ »ç¿ëÀÚ Á¤ÀÇ ¸ð¾ç Á¤Àǰ¡ Çã¿ëµÇµµ·Ï ¼¼ °³ÀÇ Ãß°¡ ¼Ó¼ºÀ¸·Î È®ÀåµÇ¾ú½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº "icon", "symbolicIcon" ¹× "annotationImageProvider"ÀÔ´Ï´Ù. "icon"ÀÇ °ªÀº ¾ÆÀÌÄÜ À̹ÌÁö¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÇ °æ·ÎÀÔ´Ï´Ù. "symbolicIcon"ÀÇ °ªÀº "error", "warning", "info", "task", "bookmark" Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. "symbolicIcon" ¼Ó¼ºÀº ¿À·ù, °æ°í, Á¤º¸, Ÿ½ºÅ© ¹× Ã¥°¥ÇǸ¦ °¢°¢ Ç¥½ÃÇϱâ À§ÇØ Ç÷§ÆûÀÌ »ç¿ëÇÏ´Â µ¿ÀÏ À̹ÌÁö·Î ¾î³ëÅ×À̼ÇÀ» ¹¦»çÇØ¾ß ÇÔÀ» Ç÷§Æû¿¡ Áö½ÃÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. "annotationImageProvider"ÀÇ °ªÀº Àüü »ç¿ëÀÚ Á¤ÀÇ ¾î³ëÅ×ÀÌ¼Ç ÇÁ¸®Á¨Å×À̼ǿ¡ ´ëÇØ Çã¿ëµÇ´Â org.eclipse.ui.texteditor.IAnnotationImageProvider¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÔ´Ï´Ù.
¼¼·Î ´«±ÝÀÚ´Â ÇØ´çµÇ´Â ¿¬°ü IAnnotationAccess/IAnnotationAccessExtensionÀ» »ç¿ëÇÏ¿© ¾î³ëÅ×À̼ÇÀ» ±×¸³´Ï´Ù. ¼¼·Î ´«±ÝÀÚ´Â Annotation.paint¸¦ ´õ ÀÌ»ó È£ÃâÇÏÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î, ¾î³ëÅ×À̼ÇÀº ´õ ÀÌ»ó ÀÚü¸¦ ±×¸®µµ·Ï Á¦¾ÈµÇÁö ¾Ê½À´Ï´Ù. °á±¹ ¾î³ëÅ×À̼ÇÀÌ UI¿Í °ü°è°¡ ¾øµµ·Ï Çϱâ À§ÇØ "paint" ¹× "getLayer" ¸Þ¼Òµå°¡ Æó±âµÇ¾ú½À´Ï´Ù. DefaultMarkerAnnotationAccess´Â IAnnotationAccess/IAnnotationAccessExtensionÀÇ ±âº» ±¸ÇöÀ¸·Î ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù. DefaultMarkerAnnotationAccess´Â ¾î³ëÅ×ÀÌ¼Ç ÆäÀÎÆÃÀ» À§ÇØ ´ÙÀ½ Àü·«À» ±¸ÇöÇÕ´Ï´Ù. Àü·«: ¾î³ëÅ×À̼ÇÀÌ IAnnotationPresentationÀ» ±¸ÇöÇÒ °æ¿ì IAnnotationPresentation.paint°¡ È£ÃâµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ¸¦ ¾î³ëÅ×ÀÌ¼Ç È¯°æ ¼³Á¤¿¡¼ ã½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ´Â ÁöÁ¤µÈ °æ¿ì¿¡ ¿£Å¬·Î¡ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀ» Á¤ÀÇÇÏ´Â Ç÷¯±×ÀÎÀÌ ÀÌ¹Ì ·ÎµåµÈ °æ¿ì¿¡¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ°¡ ÀÖÀ» °æ¿ì¿¡´Â È£ÃâÀÌ ÀÌ Á¦°øÀÚ·Î Àü´ÞµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÁöÁ¤µÈ "icon"À» ã½À´Ï´Ù. "symbolicIcon"Àº ÃÖÁ¾ ´ëü·Î »ç¿ëµË´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç ±×¸®±â¿¡´Â ¾î³ëÅ×ÀÌ¼Ç ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀÌ °ü·ÃµË´Ï´Ù. DefaultMarkerAnnotationAccess´Â ´ÙÀ½ Àü·«À» »ç¿ëÇÏ¿© ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀ» ã½À´Ï´Ù. Àü·«: ¾î³ëÅ×ÀÌ¼Ç È¯°æ ¼³Á¤ÀÌ ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀ» ÁöÁ¤ÇÒ °æ¿ì, ÁöÁ¤µÈ °èÃþÀÌ »ç¿ëµË´Ï´Ù. °èÃþÀÌ ¾ø´Âµ¥ ¾î³ëÅ×À̼ÇÀÌ IAnnotationPresentationÀ» ±¸ÇöÇÒ °æ¿ì¿¡´Â IAnnotationPresentation.getLayer°¡ »ç¿ëµÇ°í ±×·¸Áö ¾ÊÀ¸¸é ±âº» ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþ(0)ÀÌ ¸®Åϵ˴ϴÙ.
org.eclipse.ui.editors Ç÷¯±×Àο¡ ÀÇÇØ ´ÙÀ½ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÌ ¼±¾ðµË´Ï´Ù.
<extension point="org.eclipse.ui.editors.annotationTypes"> <type name="org.eclipse.ui.workbench.texteditor.error" markerType="org.eclipse.core.resources.problemmarker" markerSeverity="2"> </type> <type name="org.eclipse.ui.workbench.texteditor.warning" markerType="org.eclipse.core.resources.problemmarker" markerSeverity="1"> </type> <type name="org.eclipse.ui.workbench.texteditor.info" markerType="org.eclipse.core.resources.problemmarker" markerSeverity="0"> </type> <type name="org.eclipse.ui.workbench.texteditor.task" markerType="org.eclipse.core.resources.taskmarker"> </type> <type name="org.eclipse.ui.workbench.texteditor.bookmark" markerType="org.eclipse.core.resources.bookmark"> </type> </extension>
Á¤ÀÇµÈ markerAnnotationSpecification È®ÀåÀº ´õ ÀÌ»ó "markerType" ¹× "markerSeverity" ¼Ó¼ºÀ» Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ È®ÀåÀº ÇØ´çµÇ´Â °ªÀ» »ç¿ëÇÏ¿© "symbolicIcon" ¼Ó¼ºÀ» Á¤ÀÇÇÕ´Ï´Ù. µû¶ó¼ MarkerAnnotation.paint ¹× MarkerAnnotation.getLayer´Â ´õ ÀÌ»ó È£ÃâµÇÁö ¾Ê½À´Ï´Ù(Áï, ÀÌ ¸Þ¼Òµå¸¦ ´ëÃ¼ÇØµµ È¿°ú°¡ ¾ø½À´Ï´Ù). ¿µÇâÀ» ¹Þ´Â Ŭ¶óÀÌ¾ðÆ®´Â IAnnotationPresentation¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
3.0¿¡´Â È®Àå °¡´ÉÇÑ ½ÇÇà ¸ðµå°¡ µµÀԵǾî ÀÖÀ¸¹Ç·Î, ÇϳªÀÇ ½ÇÇà ±¸¼º À¯Çü¿¡ ´ëÇØ ¿©·¯ °³ÀÇ
½ÇÇà À§ÀÓÀÌ Á¸ÀçÇÒ ¼ö ÀÖ½À´Ï´Ù. 3.0 ÀÌÀü ¸±¸®½º´Â
½ÇÇà ±¸¼º À¯Çü¸¶´Ù ÇϳªÀÇ ½ÇÇà À§ÀÓ¸¸ Áö¿øÇß½À´Ï´Ù. ¸Þ¼Òµå ILaunchConfigurationType.getDelegate()
´Â ÀÌÁ¦
»ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ¸Þ¼Òµå getDelegate(String mode)
¸¦ ´ë½Å »ç¿ëÇÏ¿©
ƯÁ¤ ½ÇÇà ¸ðµå¿¡ ÇØ´çµÇ´Â ½ÇÇà À§ÀÓÀ» °Ë»öÇØ¾ß ÇÕ´Ï´Ù.
Æó±âµÈ ¸Þ¼Òµå´Â run
¸ðµå¿¡ ÇØ´çµÇ´Â ½ÇÇà À§ÀÓÀ» ¸®ÅÏÇϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù.
½ÇÇàÀÌ ¿Ï·áµÉ ¶§ ½ÇÇà ÅÇ ±×·ì ¹× ½ÇÇà ÅÇ¿¡ ´õ ÀÌ»ó ¾Ë¸®Áö ¾Ê½À´Ï´Ù.
ILaunchConfigurationTab
¹× ILaunchConfigurationTabGroup
ÀÎÅÍÆäÀ̽º¿¡¼
¸Þ¼Òµå launched(ILaunch)
°¡ Æó±âµÇ¾î ´õ ÀÌ»ó È£ÃâµÇÁö ¾Ê½À´Ï´Ù.
½ÇÇà ±â´É¿¡ ´ëÇØ ÀÌ ¸Þ¼Òµå¿¡ ÀÇÁ¸ÇÒ °æ¿ì Ç×»ó ¹®Á¦Á¡ÀÌ ¹ß»ýÇß½À´Ï´Ù.
½ÇÇà ´ëÈ »óÀÚ¿¡¼ ½ÇÇàÀ» ¼öÇàÇÒ °æ¿ì¿¡¸¸ ÅÇÀÌ Á¸ÀçÇϱ⠶§¹®ÀÔ´Ï´Ù.
¶ÇÇÑ ¹è°æ ½ÇÇà µµÀÔÀ¸·Î, ÀÌ ¸Þ¼Òµå´Â ´õ ÀÌ»ó È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù.
°á°ú·Î »ý¼ºµÇ´Â ½ÇÇà ¿ÀºêÁ§Æ®°¡ Á¸ÀçÇϱâ Àü¿¡ ½ÇÇà ´ëÈ »óÀÚ°¡ ´ÝÈ÷±â ¶§¹®ÀÔ´Ï´Ù.
ILaunchConfigurationTab
ÀÎÅÍÆäÀ̽º¿¡ µÎ °³ÀÇ
¸Þ¼Òµå(activated ¹× deactivated)°¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÌ »õ·Î¿î ¶óÀÌÇÁ»çÀÌŬ ¸Þ¼Òµå´Â
°¢°¢ ÅÇ¿¡ ÁøÀÔÇÒ °æ¿ì¿Í ³ª°¥ °æ¿ì¿¡ È£ÃâµË´Ï´Ù. µð¹ö±×
Ç÷¯±×ÀÎ(AbstractLaunchConfigurationTab
)ÀÌ Á¦°øÇÑ Ãß»ó Ŭ·¡½º¸¦
¼ºêŬ·¡½ºÈÇÏ´Â ILaunchConfigurationTab
ÀÇ ±âÁ¸ ±¸ÇöÀº
¸Þ¼Òµå°¡ Ãß»ó Ŭ·¡½º¿¡¼ ±¸ÇöµÇ¹Ç·Î 2Áø ȣȯ °¡´ÉÇÕ´Ï´Ù.
ÀÌÀü ¸±¸®½º¿¡¼´Â ÅÇÀÌ È°¼ºÈµÉ ¶§ initializeFrom
¸Þ½ÃÁö°¡ ¼Û½ÅµÇ°í
ºñȰ¼ºÈµÉ ¶§ performApply
¸Þ½ÃÁö°¡ ¼Û½ÅµÇ¾ú½À´Ï´Ù. ÀÌ ¹æ½Ä¿¡¼,
½ÇÇà ±¸¼º ÅÇ ÇÁ·¹ÀÓ¿öÅ©´Â ½ÇÇà ±¸¼ºÀ» ÅëÇØ ÅÇ »çÀÌÀÇ Åë½ÅÀ» Á¦°øÇß½À´Ï´Ù(ÅÇ¿¡¼ ³ª°¥ ¶§
ÇöÀç ¼Ó¼º °ªÀ¸·Î ±¸¼ºÀ» °»½ÅÇÏ°í »õ·Î ÅÇ¿¡ µé¾î°¥ ¶§ °»½ÅÇÏ¿©).
ÇÏÁö¸¸ ¸¹Àº ÅÇÀÌ ÅÇ »çÀÌÀÇ Åë½ÅÀ» ¼öÇàÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ´Â ºñÈ¿À²ÀûÀÔ´Ï´Ù.
¶ÇÇÑ È°¼ºÈµÇ´Â Åǰú óÀ½À¸·Î ¼±ÅÃµÈ ½ÇÇà ±¸¼ºÀ» Ç¥½ÃÇÏ´Â ÅÇ »çÀÌ¿¡ ±¸º°ÇÒ
¹æ¹ýÀÌ ¾ø¾ú½À´Ï´Ù. »õ·Î Ãß°¡µÈ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ÅÇÀº Ȱ¼ºÈ ¹× ÃʱâÈ »çÀÌ¿¡ ±¸º°Çϰí
ºñȰ¼ºÈ ¹× ÇöÀç °ª ÀúÀå »çÀÌ¿¡ ±¸º°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ãß»ó ÅÇÀÌ Á¦°øÇÏ´Â activated
ÀÇ ±âº» ±¸ÇöÀº
initializeFrom
À» È£ÃâÇÕ´Ï´Ù. ±×¸®°í
deactivated
ÀÇ ±âº» ±¸ÇöÀº performApply
¸¦ È£ÃâÇÕ´Ï´Ù. »õ
API¸¦ ÀÌ¿ëÇÏ·Á´Â ÅÇÀº Çʿ信 µû¶ó ÀÌ ¸Þ¼Òµå¸¦ ´ëÃ¼ÇØ¾ß ÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î, ÅÇ »çÀÌÀÇ Åë½ÅÀ» ¼öÇàÇÏÁö ¾Ê´Â ÅÇÀÇ °æ¿ì ±ÇÀåµÇ´Â
Á¢±Ù ¹æ½ÄÀº ¾Æ¹« °Íµµ ¼öÇàÇÏÁö ¾Êµµ·Ï ÀÌ ¸Þ¼Òµå¸¦ ´Ù½Ã ±¸ÇöÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌÀü ¸±¸®½º¿¡¼´Â ½ÇÇà ±¸¼º¿¡¼ ½ÇÇà ±¸¼º ¼Ó¼º ATTR_TARGET_DEBUG_PERSPECTIVE
¹× ATTR_TARGET_RUN_PERSPECTIVE
¸¦ ÅëÇØ Perspective ÀüȯÀ» ÁöÁ¤Çß½À´Ï´Ù.
3.0¿¡´Â È®Àå °¡´É ½ÇÇà ¸ðµå°¡ Ãß°¡µÇ¾úÀ¸¹Ç·Î
ÀÌ Á¢±Ù ¹æ½ÄÀº ´õ ÀÌ»ó È®ÀåÇÏÁö ¾Ê½À´Ï´Ù. Perspective ÀüȯÀº ÀÌÁ¦
½ÇÇà ±¸¼º À¯ÇüÀÌ Áö¿øÇÏ´Â ½ÇÇà ¸ðµå¸¶´Ù ½ÇÇà ±¸¼º À¯ÇüÀ» ±âÃÊ·Î ÁöÁ¤µË´Ï´Ù.
ƯÁ¤ ½ÇÇà ¸ðµå¿¡ ÇØ´çµÇ´Â ½ÇÇà ±¸¼º À¯Çü°ú ¿¬°üµÇ´Â Perspective¸¦
¼³Á¤ÇÏ°í °¡Á®¿À±â À§ÇØ DebugUITools
¿¡ API°¡ Ãß°¡µÇ¾ú½À´Ï´Ù.
¶ÇÇÑ ¼±ÅÃÀû launchMode
¿ä¼Ò°¡
launchConfigurationTabGroup
È®ÀåÁ¡¿¡ Ãß°¡µÇ¾î,
Á¦°øµÈ ÅÇ ±¸¼ºÀÌ ½ÇÇà ±¸¼º À¯Çü ¹× ¸ðµå¿¡ ´ëÇÑ ±âº» Perspective¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Eclipse »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ, »ç¿ëÀÚ´Â ½ÇÇà ±¸¼º ´ëÈ »óÀÚ¸¦ ¿°í Æ®¸®(°³º° ±¸¼ºÀÌ ¾Æ´Ñ)¿¡¼ ½ÇÇà ±¸¼º À¯Çü ³ëµå¸¦ ¼±ÅÃÇÏ¿© ½ÇÇà ±¸¼º À¯Çü°ú ¿¬°üµÇ´Â Perspective¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ°¡ °¢°¢ÀÇ Áö¿øµÇ´Â ½ÇÇà ¸ðµå¿¡¼ Perspective¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ÅÇÀÌ Ç¥½ÃµË´Ï´Ù.
ȯ°æ º¯¼ö ¼³Á¤ ¹× °Ë»öÀ» Áö¿øÇϱâ À§ÇØ µÎ °³ÀÇ ¸Þ¼Òµå°¡
VMRunnerConfiguration
Ŭ·¡½º¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. IVMRunner
±¸ÇöÀÚ´Â
VMRunnerConfiguration.getEnvironment()
¸¦ È£ÃâÇϰí
ÇØ´ç ȯ°æÀ» ½ÇÇàµÈ JVMÀ¸·Î Àü´ÞÇØ¾ß ÇÕ´Ï´Ù. DebugPlugin.exec(String[]
cmdLine, File workingDirectory)
¸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®´Â ´ë½Å DebugPlugin.exec(String[]
cmdLine, File workingDirectory, String[] envp)
¸¦ È£ÃâÇÏ¿© À̸¦ ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. getEnvironment()
¸¦ ÅëÇØ
°á°ú¸¦ Àü´ÞÇÏ´Â °Í¸¸À¸·Î ÃæºÐÇÕ´Ï´Ù.
ÀÌÀü ¸±¸®½º¿¡¼´Â VMRunnerConfiguration
¿¡ ½Ãµ¿ °æ·Î¸¦
¼³¸íÇϱâ À§ÇÑ ÇϳªÀÇ ¼Ó¼ºÀÌ ÀÖ¾ú½À´Ï´Ù. ¼Ó¼ºÀº -Xbootclasspath
Àμö¿¡ ÁöÁ¤µÉ String
ÄÝ·º¼ÇÀÔ´Ï´Ù.
½Ãµ¿ °æ·Î ¾ÕµÚ¿¡ Ãß°¡ÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇÏ´Â JVMÀ» Áö¿øÇϱâ À§ÇØ
VMRunnerConfiguration¿¡ ¼¼ °³ÀÇ »õ ¼Ó¼ºÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù.
Ãß°¡µÈ »õ ¸Þ¼Òµå/¼Ó¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù.
getPrependBootClassPath()
- ½Ãµ¿ °æ·Î ¾Õ¿¡
Ãß°¡ÇÒ(-Xbootclasspath/p
Àμö) Ç׸ñ ÄÝ·º¼ÇÀ» ¸®ÅÏÇÕ´Ï´Ù. getMainBootClassPath()
- ½Ãµ¿ °æ·Î¿¡
³õÀ»(-Xbootclasspath
Àμö) Ç׸ñ ÄÝ·º¼ÇÀ» ¸®ÅÏÇÕ´Ï´Ù. getAppendBootClassPath()
- ½Ãµ¿ °æ·Î µÚ¿¡
Ãß°¡ÇÒ(-Xbootclasspath/a
Àμö) Ç׸ñ ÄÝ·º¼ÇÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÌÀü ¼Ó¼ºÀÎ getBootClassPath()
´Â °è¼Ó Á¸ÀçÇϸç
¼¼ °³ÀÇ »õ ¼Ó¼º¿¡ ÇØ´çµÇ´Â Àüü °æ·Î¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ±×·¯³ª »õ ½Ãµ¿ °æ·Î ¿É¼ÇÀ»
Áö¿øÇÏ´Â VMRunners
´Â »õ ¼Ó¼ºÀ» ÀÌ¿ëÇØ¾ß ÇÕ´Ï´Ù.
º¹»ç ±â´É ÀÛ¾÷À» ¼öÇà ÁßÀÎ Java ¸ðµ¨Àº 3.0¿¡¼ È®½ÇÇÑ ±â´É¼º Áõ°¡¸¦ Á¦°øÇϱâ À§ÇØ ´Ù½Ã ÀÛ¾÷Çß½À´Ï´Ù. 3.0 ÀÌÀü¿¡´Â ÄÄÆÄÀÏ ´ÜÀ§ÀÇ °³ÀÎ ÀÛ¾÷ »çº»À» ÀÛ¼ºÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù. ÀÛ¾÷ ÁßÀÎ »çº»À» º¯°æÇÒ ¼ö ÀÖ¾úÀ¸¸ç ³ªÁß¿¡ È®¾àÇß½À´Ï´Ù. Java ¸ðµ¨ÀÇ ³ª¸ÓÁö ÄÁÅØ½ºÆ®¿¡¼ Á¦ÇÑµÈ ÀÛ¾÷ »çº» ºÐ¼®À» À§ÇÑ Áö¿øÀÌ ÀÖ¾ú½À´Ï´Ù. ±×·¯³ª ÇÑ ¹ø¿¡ ÀÛ¾÷ »çº» Áß µÎ °³ ÀÌ»óÀ» ºÐ¼®¿¡ °í·ÁÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø¾ú½À´Ï´Ù.
3.0¿¡¼ÀÇ º¯°æ»çÇ×À¸·Î ÄÄÆÄÀÏ ´ÜÀ§ÀÇ ÀÛ¾÷ »çº» ¼¼Æ®¸¦ ÀÛ¼º ¹× °ü¸®ÇÏ°í ¼¼Æ®¿¡ ÀÖ´Â ¸ðµç ÀÛ¾÷ »çº» Á¸Àç¿¡ ´ëÇØ ºÐ¼®À» ¼öÇàÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌÁ¦´Â JDT ¸®ÆÑÅ丵 °°Àº Ŭ¶óÀÌ¾ðÆ®´Â ¼öÁ¤ ÁßÀ¸·Î °£ÁÖÇϰí ÀÖ´Â Çϳª ÀÌ»óÀÇ ÄÄÆÄÀÏ ´ÜÀ§¿¡ ´ëÇÑ ÀÛ¾÷ »çº»À» ÀÛ¼ºÇÑ ÈÄ ÀÛ¾÷ »çº» »çÀÌÀÇ À¯Çü ÂüÁ¶¸¦ ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÀü¿¡´Â ÄÄÆÄÀÏ ´ÜÀ§ ÀÛ¾÷ »çº»¿¡ ´ëÇÑ º¯°æ»çÇ×ÀÌ È®¾àµÈ ÈÄ¿¡¸¸ °¡´ÉÇß½À´Ï´Ù.
Java ¸ðµ¨ API´Â ÀÌ¿Í °°Àº °³¼±µÈ Áö¿øÀ» Ãß°¡Çϱâ À§ÇØ µÎ °¡Áö ¹æ¹ýÀ¸·Î º¯°æµÇ¾ú½À´Ï´Ù.
(1) ÀÌÀü¿¡ IWorkingCopy
¿¡¼ ¹ß°ßµÇ¾ú°í
ICompilationUnit
¿¡ ÀÇÇØ »ó¼ÓµÈ ±â´ÉÀº ICompilationUnit
¿¡ ÅëÇյǾú½À´Ï´Ù.
IWorkingCopy
ÀÎÅÍÆäÀ̽º´Â ÀÌ ÇϳªÀÇ °ø°£¿¡¼¸¸ »ç¿ëµÇ¾úÁö¸¸
±Ù°Å¾øÀÌ ´õ ÀϹÝȵǾî ÇÊ¿äÇÏ°Ô µÇ¾ú½À´Ï´Ù. ÀÌ º¯°æÀ¸·Î API°¡ ´Ü¼øÈµÇ¾ú½À´Ï´Ù. IWorkingCopy
´Â
Æó±âµÇ¾ú½À´Ï´Ù. API¿¡¼ IWorkingCopy
°¡ ¸Å°³º¯¼ö ¶Ç´Â °á°ú À¯ÇüÀ¸·Î »ç¿ëµÇ´Â
´Ù¸¥ °ø°£µµ Æó±âµÇ¾ú½À´Ï´Ù. ´ëü API ¸Þ¼Òµå¿¡¼´Â IWorkingCopy
´ë½Å
ICompilationUnit
¸¦ ¾ð±ÞÇÕ´Ï´Ù.
(2) IBufferFactory
ÀÎÅÍÆäÀ̽º°¡ WorkingCopyOwner
·Î ´ëüµÇ¾ú½À´Ï´Ù.
ÀÛ¾÷ »çº»¿¡ ´ëÇÑ °³¼±µÈ Áö¿øÀ» »ç¿ëÇÏ·Á¸é ÀÛ¾÷ »çº»À» ¼ÒÀ¯ÇÒ ¿ÀºêÁ§Æ®°¡
ÀÖ¾î¾ß ÇÕ´Ï´Ù. IBufferFactory
°¡ ¿Ã¹Ù¸¥ À§Ä¡¿¡ À־,
À̸§Àº »õ ÀÛ¾÷ »çº» ¸ÞÄ¿´ÏÁòÀÌ ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» ÀûÀýÇÏ°Ô ¾Ë¸®Áö ¸øÇÕ´Ï´Ù. WorkingCopyOwner
¸¦
ÇÑÃþ ´õ Á¦¾ÈÇÕ´Ï´Ù. ¶ÇÇÑ WorkingCopyOwner
´Â
ÀÎÅÍÆäÀ̽ºº¸´Ù´Â Ãß»ó Ŭ·¡½º·Î ¼±¾ðµÇ¹Ç·Î, ÀÛ¾÷ »çº» ¼ÒÀ¯ÀÚÀÇ °³³äÀ»
Â÷ÈÄ¿¡ ´õ ¹ßÀü½Ãų ¼ö ÀÖ½À´Ï´Ù. IBufferFactory
¿¡¼ ÇϳªÀÇ ¸Þ¼Òµå°¡
¿µÇâÀ» ¹ÞÁö ¾Ê´Â WorkingCopyOwner
·Î À̵¿ÇÕ´Ï´Ù. WorkingCopyOwner
´Â
IBufferFactory
°¡ ÀÌÀü °ÍÀÓÀ» ¸í¹éÈ÷ Çϱâ À§ÇØ IBufferFactory
¸¦
±¸ÇöÇÏÁö ¾Ê½À´Ï´Ù. IBufferFactory
°¡ Æó±âµÇ¾ú½À´Ï´Ù. API¿¡¼ IBufferFactory
°¡
¸Å°³º¯¼ö ¶Ç´Â °á°ú À¯ÇüÀ¸·Î Ç¥½ÃµÇ´Â ´Ù¸¥ °ø°£µµ Æó±âµÇ¾ú½À´Ï´Ù. ´ëü API ¸Þ¼Òµå¿¡¼´Â IBufferFactory
´ë½Å
WorkingCopyOwner
¸¦ ¾ð±ÞÇÕ´Ï´Ù.
ÀÌ º¯°æ»çÇ×Àº 2Áø ȣȯ¼ºÀ» Áß´ÜÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌÁÖÇÒ ¶§ À¯Çü IWorkingCopy
¿¡ ´ëÇÑ ¸ðµç ÂüÁ¶´Â ´ë½Å
ICompilationUnit
¸¦ ÂüÁ¶ÇÕ´Ï´Ù. IWorkingCopy
ÀÇ ´Üµ¶ ±¸ÇöÀº
ICompilationUnit
µµ ±¸ÇöÇÕ´Ï´Ù. ÀÌ´Â À¯Çü IWorkingCopy
ÀÇ ¿ÀºêÁ§Æ®°¡
ICompilationUnit
¿¡ ¾ÈÀüÇÏ°Ô Ä³½ºÆ®ÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.
IBufferFactory
¸¦ ±¸ÇöÇϴ Ŭ·¡½º´Â WorkingCopyOwner
¼ºêŬ·¡½º¿¡ ÀÇÇØ
´ëüµÇ¾î¾ß ÇÕ´Ï´Ù. WorkingCopyOwner
°¡
IBufferFactory
ÀÚü¸¦ ±¸ÇöÇÏÁö ¾Ê¾Æµµ,
IBufferFactory
¸¦ ±¸ÇöÇÏ´Â WorkingCopyOwner
ÀÇ ¼ºêŬ·¡½º¸¦
¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ¿¡ µû¶ó ÀÌÀü ¹× »õ Ŭ·¡½º »çÀÌ¿¡ ºê¸´Áö°¡ ÀÛ¼ºµË´Ï´Ù(IBufferFactory
´Â
createBuffer(IOpenable)
¸¦ ¼±¾ðÇÏ´Â ¹Ý¸é WorkingCopyOwner
´Â
createBuffer(ICompilationUnit)
¸¦ ¼±¾ðÇÕ´Ï´Ù. ICompilationUnit
´Â
IOpenable
À» È®ÀåÇÕ´Ï´Ù).
IWorkingCopy
¹× IBufferFactory
¸¦ Æ÷ÇÔÇÏ´Â º¯°æ»çÇ×ÀÌ
¼·Î ¾ôÇôÀÖÀ¸¹Ç·Î µÑ ´Ù µ¿½Ã¿¡ ó¸®ÇÒ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. Æó±â¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº
´ÙÀ½°ú °°½À´Ï´Ù.
IWorkingCopy
(ÆÐŰÁö org.eclipse.jdt.core
)
public void commit(boolean, IProgressMonitor)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public void commitWorkingCopy(boolean, IProgressMonitor)
wc.commit(b,monitor)
À» ((ICompilationUnit)
wc).commitWorkingCopy(b,monitor)¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ.
public void destroy()
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public void discardWorkingCopy(boolean, IProgressMonitor)
wc.destroy()
¸¦ ((ICompilationUnit)
wc).discardWorkingCopy()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ.public IJavaElement findSharedWorkingCopy(IBufferFactory)
°¡
Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public ICompilationUnit findWorkingCopy(WorkingCopyOwner)
WorkingCopyOwner
´Â IBufferFactory
¿¡ ´ëÇØ ´ëüµË´Ï´Ù.public IJavaElement getOriginal(IJavaElement)
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
IJavaElement
¿¡¼ Á¦°øµË´Ï´Ù.
public IJavaElement getPrimaryElement()
wc.getOriginal(elt)
À» elt.getPrimaryElement()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ.IWorkingCopy.getOriginal
°ú´Â ´Þ¸®, IJavaElement.getPrimaryElement
´Â
¼ö½ÅÀÚ°¡ ÀÛ¾÷ ÁßÀÎ »çº»ÀÌ ¾Æ´Ï¸é null
À» ¸®ÅÏÇÏÁö ¾Ê½À´Ï´Ù.
copy.public IJavaElement getOriginalElement()
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public ICompilationUnit getPrimary()
wc.getOriginalElement()
¸¦ ((ICompilationUnit)
wc).getPrimary()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. IWorkingCopy.getOriginalElement
¿Í´Â ´Þ¸®, IWorkingCopy.getPrimary
´Â
¼ö½ÅÀÚ°¡ ÀÛ¾÷ ÁßÀÎ »çº»ÀÌ ¾Æ´Ï¸é null
À» ¸®ÅÏÇÏÁö ¾Ê½À´Ï´Ù.
copy.public IJavaElement[] findElements(IJavaElement)
°¡
Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ ¼±¾ðµË´Ï´Ù.wc.findElements(elts)
¸¦ ((ICompilationUnit)
wc).findElements(elts)
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public IType findPrimaryType()
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ ¼±¾ðµË´Ï´Ù.wc.findPrimaryType()
À» ((ICompilationUnit)
wc).findPrimaryType()
°ú °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public IJavaElement getSharedWorkingCopy(IProgressMonitor,
IBufferFactory, IProblemRequestor)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public ICompilationUnit getWorkingCopy(WorkingCopyOwner,
IProblemRequestor, IProgressMonitor)
WorkingCopyOwner
°¡
IBufferFactory
¸¦ ´ëüÇÕ´Ï´Ù.public IJavaElement getWorkingCopy()
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public ICompilationUnit getWorkingCopy(IProgressMonitor)
wc.getWorkingCopy()
¸¦ ((ICompilationUnit)
wc).getWorkingCopy(null)
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public IJavaElement getWorkingCopy(IProgressMonitor,
IBufferFactory, IProblemRequestor)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public ICompilationUnit getWorkingCopy(WorkingCopyOwner,
IProblemRequestor, IProgressMonitor)
WorkingCopyOwner
°¡
IBufferFactory
¸¦ ´ëüÇÕ´Ï´Ù.public boolean isBasedOn(IResource)
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public boolean hasResourceChanged()
wc.isBasesOn(res)
À» ((ICompilationUnit)
wc).hasResourceChanged()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public boolean isWorkingCopy()
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ ¼±¾ðµË´Ï´Ù.wc.isWorkingCopy()
¸¦ ((ICompilationUnit)
wc).isWorkingCopy()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public IMarker[] reconcile()
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
public void reconcile(boolean,IProgressMonitor)
wc.reconcile()
À» ((ICompilationUnit)
wc).reconcile(false, null)
°ú °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. null
À» ¸®ÅÏÇß½À´Ï´Ù.
´ëü ¸Þ¼Òµå´Â °á°ú¸¦ ¸®ÅÏÇÏÁö ¾Ê½À´Ï´Ù.public void reconcile(boolean, IProgressMonitor)
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ ¼±¾ðµË´Ï´Ù.wc.reconcile(b,monitor)
À» ((ICompilationUnit)
wc).reconcile(b.monitor)
°ú °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. public void restore()
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
ICompilationUnit
¿¡¼ Á÷Á¢ ¼±¾ðµË´Ï´Ù.wc.restore()
¸¦ ((ICompilationUnit)
wc).restore()
¿Í °°ÀÌ ´Ù½Ã ÀÛ¼ºÇϽʽÿÀ. IType
(ÆÐŰÁö org.eclipse.jdt.core
)
public ITypeHierarchy newSupertypeHierarchy(IWorkingCopy[],
IProgressMonitor)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
public ITypeHierarchy newSupertypeHierarchy(c,
IProgressMonitor)
IWorkingCopy[]
°¡
ICompilationUnit[]
¿¡ ij½ºÆ®µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.public ITypeHierarchy newTypeHierarchy(IWorkingCopy[],
IProgressMonitor)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
public ITypeHierarchy newTypeHierarchy(ICompilationUnit[],
IProgressMonitor)
IWorkingCopy[]
°¡
ICompilationUnit[]
¿¡ ij½ºÆ®µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.IClassFile
(ÆÐŰÁö org.eclipse.jdt.core
)
public IJavaElement getWorkingCopy(IProgressMonitor,
IBufferFactory)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
public ICompilationUnit getWorkingCopy(WorkingCopyOwner,
IProgressMonitor)
WorkingCopyOwner
°¡
IBufferFactory
¸¦ ´ëüÇÕ´Ï´Ù.JavaCore
(ÆÐŰÁö org.eclipse.jdt.core
)
public IWorkingCopy[] getSharedWorkingCopies(IBufferFactory)
°¡ Æó±âµÇ¾ú½À´Ï´Ù.
public ICompilationUnit[]
getWorkingCopies(WorkingCopyOwner)
WorkingCopyOwner
´Â IBufferFactory
¿¡ ´ëÇØ ´ëüµË´Ï´Ù.ICompilationUnit[]
°¡
IWorkingCopy[]
¿¡ ij½ºÆ®µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.SearchEngine
(ÆÐŰÁö org.eclipse.jdt.core.search
)
public SearchEngine(IWorkingCopy[])
ÀÌ Æó±âµÇ¾ú½À´Ï´Ù.
public SearchEngine(ICompilationUnit[])
IWorkingCopy[]
°¡
ICompilationUnit[]
¿¡ ij½ºÆ®µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.µµ¿ò¸» ½Ã½ºÅÛ¿¡ Á¦°øÇÏ°í µµ¿ò¸» ½Ã½ºÅÛÀ» È®ÀåÇÒ »Ó¸¸ ¾Æ´Ï¶ó µµ¿ò¸»À» Ç¥½ÃÇϱâ À§ÇØ API ¹× È®ÀåÁ¡À» º¸À¯ÇÏ´Â µ¥ »ç¿ëÇÏ´Â org.eclipse.help Ç÷¯±×ÀÎÀº ÀÌÁ¦ µµ¿ò¸» ÀÚ¿ø¿¡ Á¦°øÇÏ°í µµ¿ò¸» ÀÚ¿ø¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ API ¹× È®ÀåÁ¡À» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ Ç÷¯±×Àο¡ Æ÷ÇÔµÈ ±âº» µµ¿ò¸» UI ±¸ÇöÀÇ ÀϺΰ¡ ±¸Çö È®ÀåÀ» À§ÇÑ API¿Í ÇÔ²² »õ Ç÷¯±×ÀÎ org.eclipse.help.base·Î À̵¿µÇ¾ú½À´Ï´Ù. µµ¿ò¸» UI¸¦ Á¦°øÇÏ°í µµ¿ò¸»À» Ç¥½ÃÇϱâ À§ÇÑ API ¹× È®ÀåÁ¡ÀÌ org.eclipse.ui Ç÷¯±×ÀÎÀ¸·Î À̵¿µÇ¾ú½À´Ï´Ù. ÀÌ ±¸Á¶ º¯°æÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥Àº µµ¿ò¸» ½Ã½ºÅÛ¿¡ ´ëÇØ ´õ ¸¹Àº À¶Å뼺À» °¡Áú ¼ö ÀÖ½À´Ï´Ù. »õ ±¸Á¶¸¦ »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÏ¹Ý Workbench¸¦ ±âÃÊ·Î ÀÚ½ÅÀÇ °íÀ¯ µµ¿ò¸» UI ¹×/¶Ç´Â µµ¿ò¸» ±¸ÇöÀ» Á¦°øÇϰųª µµ¿ò¸» ½Ã½ºÅÛÀ» ÀüüÀûÀ¸·Î »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿µÇâ¹ÞÀº È®ÀåÁ¡ ¹× API ÆÐŰÁö´Â µµ¿ò¸» ½Ã½ºÅÛ ÀÚü¿¡¸¸ »ç¿ëµË´Ï´Ù. ±âÁ¸ Ç÷¯±×Àΰú´Â ´Þ¸® ÀÌ º¯°æÀÇ ¿µÇâÀ» ¹Þ½À´Ï´Ù. ¿ÏÀü¼ºÀ» À§ÇØ ¿©±â¿¡¸¸ Æ÷ÇԵ˴ϴÙ.
»ç¿ëÀÚ Á¤ÀÇ °Ë»öÀ» ±¸ÇöÇϱâ À§ÇÑ »õ API°¡ 3.0¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ¿ø·¡ API´Â 3.0¿¡¼ Æó±âµÇ¾úÀ¸¹Ç·Î Ŭ¶óÀÌ¾ðÆ®°¡ ÆÐŰÁö org.eclipse.search.ui ¹× org.eclipse.search.ui.text¿¡¼ »õ API·Î À̽ÄÇÕ´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â ISearchQuery
, ISearchResult
¹× ISearchResultPage
±¸ÇöÀ» ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. ±×·± ´ÙÀ½ ISearchResultPage
±¸ÇöÀ» »õ org.eclipse.search.searchResultViewPages
È®ÀåÁ¡À¸·Î Á¦°øÇØ¾ß ÇÕ´Ï´Ù.
ISearchResult
¹× ISearchResultPage
¿¡ ´ëÇÑ ±âº» ±¸ÇöÀÌ
org.eclipse.search.ui.text
ÆÐŰÁö¿¡ Á¦°øµË´Ï´Ù.
3.0 ÀÌÀü¿¡´Â, ¹®ÀÚ¿¿¡ ´ëÇØ °ªÀÌ ³ÎÀÎ SWTÀÇ DirectoryDialog.setMessage(String string) ¶Ç´Â MessageBox.setMessage(String string)¸¦ È£ÃâÇÒ °æ¿ì Á¦¸ñ¿¡ ÅØ½ºÆ®°¡ ¾ø´Â ´ëÈ »óÀÚ°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ µ¿ÀÛÀº ÁöÁ¤µÇÁö ¾ÊÀº °ÍÀ̹ǷÎ(³Î(null)À» Àü´ÞÇÏ´Â °ÍÀº Çã¿ëµÇÁö ¾ÊÀ½) ³ÎÀ» ¸®ÅÏÇÏ´Â °ÍÀÌ Çã¿ëµÇÁö ¾Ê´Â getMessage¿¡ ´ëÇØ ¹®Á¦Á¡À» ÀÛ¼ºÇÕ´Ï´Ù. 3.0¿¡¼´Â ÀÌÁ¦ ³Î(null)À» Àü´ÞÇϸé IllegalArgumentException ¿¹¿Ü°¡ ¹ß»ýÇϰí, ½ºÆåÀº ¼öÆÛŬ·¡½º Dialog.setMessage¿¡¼ ¸Þ¼Òµå°¡ ÀÖ´Â ÇàÀ¸·Î °¡Á®¿Í¼ À̸¦ ¾ð±ÞÇϵµ·Ï º¯°æÇß½À´Ï´Ù. Dialog.setMessage¸¦ »ç¿ëÇÒ °æ¿ì, Àü´ÞµÈ ¹®ÀÚ¿ÀÌ ³Î(null)ÀÌ ¾Æ´Ïµµ·Ï È®ÀÎÇϽʽÿÀ. Á¦¸ñ¿¡ ÅØ½ºÆ®°¡ ¾ø´Â ´ëÈ »óÀÚ¸¦ ¿øÇÒ °æ¿ì °£´ÜÈ÷ ºó ¹®ÀÚ¿À» Àü´ÞÇÏ¸é µË´Ï´Ù.
µ¿½Ã Á¶ÀÛÀ» Áö¿øÇÏ·Á¸é ¸ð´Þ ÁøÇà»óŸ¦ Ç¥½ÃÇϱâ À§ÇÑ ´õ Á¤±³ÇÑ ¹æ½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÀ´ä °á°úÀÇ ÀϺηÎ, IProgressService Ŭ·¡½º¿¡¼ Ãß°¡ ÁøÇà»óÅ Áö¿øÀÌ ±¸ÇöµÇ¾ú½À´Ï´Ù. ProgressMonitorDialog·Î ÁøÇà»óŸ¦ Ç¥½ÃÇÏ´Â ±âÁ¸ ¹æ½ÄÀº °è¼Ó ÀÛµ¿ÇÕ´Ï´Ù. ÇÏÁö¸¸ »ç¿ëÀÚ °æÇèÀ» °³¼±ÇÏ·Á¸é »õ IProgressService·Î ÀÌÁÖÇÒ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.
¹®¼ Eclipse 3.0¿¡¼ ¸ð´Þ ÁøÇà»óÅ ǥ½Ã´Â »õ IProgressService·Î ÀÌÁÖÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
µð¹ö±× Á¶Ä¡ ±×·ì È®ÀåÁ¡(org.eclipse.debug.ui.debugActionGroups)ÀÌ Á¦°ÅµÇ¾ú½À´Ï´Ù. Eclipse 3.0¿¡¼´Â org.eclipse.platform.ui.activities È®ÀåÁ¡À» ÅëÇØ Ȱµ¿¿¡ ´ëÇÑ Áö¿øÀÌ Workbench¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÌ Áö¿øÀº µð¹ö±× Á¶Ä¡ ±×·ìÀÌ Á¦°øÇß´ø ¸ðµç °ÍÀ» Á¦°øÇÏ¸é¼ »ç¿ëÇϱâ´Â ´õ ½¬¿ì¸ç(¸ðµç Á¶Ä¡¸¦ öÀúÇÏ°Ô ÁöÁ¤ÇÏ´Â ´ë½Å ÆÐÅÏÀ» Áö¿øÇÔ) À̸¦ Áö¿øÇϱâ À§ÇØ ÇÁ·Î±×·¥ ¹æ½ÄÀÇ API¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌÀü È®ÀåÁ¡¿¡ ´ëÇÑ ÂüÁ¶¸¦ Á¦°ÅÇÏÁö ¸øÇصµ Àå¾Ö°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. È®ÀåÁ¡¿¡ ´ëÇÑ ÂüÁ¶´Â ´Ü¼øÈ÷ ¹«½ÃµË´Ï´Ù. Á¦Ç° º¥´õ´Â Workbench Ȱµ¿ Áö¿øÀ» »ç¿ëÇÏ¿© ¾ð¾î ƯÁ¤ µð¹ö°Å Á¶Ä¡¸¦ ¾ð¾î ƯÁ¤ Ȱµ¿(¿¹: C++ µð¹ö±ë Á¶Ä¡°¡ "Developing C++"¶ó°í Çϴ Ȱµ¿°ú ¿¬°üµÉ ¼ö ÀÖÀ½)°ú ¿¬°ü½Ã۵µ·Ï ±ÇÇÕ´Ï´Ù.
IBreakpointManager´Â ÀÌÁ¦ ¸Þ¼Òµå setEnabled(boolean) ¹× isEnabled()¸¦ Á¤ÀÇÇÕ´Ï´Ù. Áß´ÜÁ¡ °ü¸®ÀÚ°¡ »ç¿ë ºÒ°¡´ÉÇÒ °æ¿ì, µð¹ö°Å´Â µî·ÏµÈ ¸ðµç Áß´ÜÁ¡À» ¹«½ÃÇØ¾ß ÇÕ´Ï´Ù. µð¹ö±× Ç÷§ÆûÀº ¶ÇÇÑ Å¬¶óÀÌ¾ðÆ®°¡ »ç¿ë °¡´É ¿©ºÎ°¡ º¯°æµÉ ¶§ Áß´ÜÁ¡ °ü¸®ÀÚ¿¡°Ô ¾Ë¸®±â À§ÇØ µî·ÏÇÒ ¼ö ÀÖ´Â »õ ¸®½º³Ê ¸ÞÄ¿´ÏÁò IBreakpointManagerListener¸¦ Á¦°øÇÕ´Ï´Ù. Áß´ÜÁ¡ º¸±â´Â »ç¿ëÀÚ¿¡ ´ëÇØ "¸ðµç Áß´ÜÁ¡ °Ç³Ê¶Ù±â"¸¦ Çã¿ëÇÏ´Â »õ Åä±Û Á¶Ä¡·ÎºÎÅÍ ÀÌ API¸¦ È£ÃâÇÕ´Ï´Ù. Áß´ÜÁ¡ °ü¸®ÀÚÀÇ »ç¿ë °¡´ÉÀ» ¹Þ¾ÆµéÀÌÁö ¾Ê´Â µð¹ö°Å´Â »ç¿ëÀÚ°¡ ÀÌ ±â´ÉÀ» »ç¿ëÇÏ·Á°í ÇÒ °æ¿ì ´Ù¼Ò Áß´ÜµÈ °ÍÀ¸·Î Ç¥½ÃÇÕ´Ï´Ù.
Java¿¡ °¡±î¿î ¾ð¾î(¿¹: JSP, SQLJ, JWS µî)´Â Java °Ë»ö¿¡ Âü¿©ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ƯÈ÷, ÀÌ ¾ð¾îÀÇ ±¸ÇöÀÚ´Â ´ÙÀ½À» ¼öÇàÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
ÀÌ¿Í °°Àº ±¸ÇöÀÚ¸¦ °Ë»ö ±¸¼º¿øÀ̶ó°í ÇÕ´Ï´Ù. ÀÌ ±¸ÇöÀÚ´Â SearchParticipant Ŭ·¡½º¸¦ È®ÀåÇÕ´Ï´Ù. °Ë»ö ±¸¼º¿øÀº °Ë»ö Á¶È¸·Î Àü´ÞµË´Ï´Ù(SearchEngine.search(SearchPattern, SearchParticipant[], IJavaSearchScope, SearchRequestor, IProgressMonitor) ÂüÁ¶).
ÀÏÄ¡ Ç׸ñÀ» »öÀÎÈÇϰųª ãÀ» °æ¿ì, °Ë»ö ±¸¼º¿øÀº getByteContents() ¶Ç´Â getCharContents()¸¦ ´ëüÇÏ¿© ¹®¼ ÄÁÅÙÃ÷¸¦ °Ë»öÇÒ ¼ö ÀÖ´Â SearchDocumentÀÇ ¼ºêŬ·¡½º¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¼ºêŬ·¡½ºÀÇ ÀνºÅϽº´Â getDocument(String)·Î ¸®Åϵ˴ϴÙ.
¾î¶² ¹®¼¸¦ »öÀÎÈÇÏ·Á´Â °Ë»ö ±¸¼º¿øÀº SearchParticipant.scheduleDocumentIndexing(SearchDocument, IPath)¸¦ »ç¿ëÇÏ¿© ÁÖ¾îÁø »öÀο¡¼ ÁÖ¾îÁø ¹®¼ÀÇ »öÀÎÈ ½ºÄÉÁÙÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¹®¼ÀÇ »öÀÎÈ Áغñ°¡ ¿Ï·áµÇ¸é ±âº»ÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©°¡ SearchParticipant.indexDocument(SearchDocument, IPath)¸¦ È£ÃâÇÕ´Ï´Ù. ±×·¯¸é °Ë»ö ±¸¼º¿øÀÌ ¹®¼ÀÇ ÄÁÅÙÃ÷¸¦ °¡Á®¿Í¼ ±¸¹® ºÐ¼®ÇÑ ÈÄ SearchDocument.addIndexEntry(char[], char[])¸¦ »ç¿ëÇÏ¿© »öÀÎ Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù.
»öÀÎȰ¡ ¼öÇàµÇ°í ³ª¸é »öÀÎÀ» Á¶È¸Çϰí SearchEngine.search(SearchPattern, SearchParticipant[], IJavaSearchScope, SearchRequestor, IProgressMonitor)¸¦ »ç¿ëÇÏ¿© ÀÏÄ¡ Ç׸ñÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú SearchParticipant.selectIndexes(SearchPattern, IJavaSearchScope)¸¦ »ç¿ëÇÏ¿© °¢ °Ë»ö ±¸¼º¿ø¿¡°Ô ÀÌ Á¶È¸¿¡ ÇÊ¿äÇÑ »öÀο¡ ´ëÇØ ¿äûÇÕ´Ï´Ù. ÁÖ¾îÁø ÆÐÅϰú ÀÏÄ¡ÇÏ´Â »öÀÎ Ç׸ñ¸¶´Ù °Ë»ö ±¸¼º¿ø¿¡°Ô ¿äûÇÏ¿© °Ë»ö ¹®¼°¡ ÀÛ¼ºµË´Ï´Ù(getDocument(String) ÂüÁ¶). ÀÌ ¹®¼´Â ¸ðµÎ locateMatches(SearchDocument[], SearchPattern, IJavaSearchScope, SearchRequestor, IProgressMonitor)¸¦ »ç¿ëÇÏ¿© ÀÏÄ¡ Ç׸ñÀ» ãÀ» ¼ö ÀÖµµ·Ï °Ë»ö ±¸¼º¿ø¿¡°Ô Àü´ÞµË´Ï´Ù. °Ë»ö ±¸¼º¿øÀº acceptSearchMatch(SearchMatch)¸¦ »ç¿ëÇϰí SearchMatch ¼ºêŬ·¡½ºÀÇ ÀνºÅϽº¸¦ Àü´ÞÇÏ¿© °Ë»ö ÀÏÄ¡ Ç׸ñÀ» SearchRequestor¿¡ ¾Ë¸³´Ï´Ù.
°Ë»ö ±¸¼º¿øÀº ÀÛ¾÷ÀÇ ÀϺθ¦ ±âº» Java °Ë»ö ±¸¼º¿ø¿¡°Ô À§ÀÓÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±âº» ±¸¼º¿øÀÇ ÀνºÅϽº´Â SearchEngine.getDefaultSearchParticipant()¸¦ »ç¿ëÇÏ¿© È®º¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÏÄ¡ Ç׸ñÀ» ãÀ» °ÍÀ» ¿äûÇÑ °æ¿ì SQLJ ±¸¼º¿øÀº ÇØ´çµÇ´Â .sql ¹®¼¿¡¼ .java ¹®¼¸¦ ÀÛ¼ºÇϰí ÀÌ ¹®¼¸¦ .java ¹®¼·Î Àü´ÞÇÏ¿© ±âº» ±¸¼º¿ø¿¡°Ô ÀÛ¾÷À» À§ÀÓÇÕ´Ï´Ù.