Ç÷¯±×Àο¡ ¿µÇâÀ» ÁÖ´Â Eclipse 2.1 ¹× 3.0 °£ÀÇ ºñȣȯ¼º ¹æ½ÄÀ¸·Î Eclipse°¡ º¯°æµÇ¾ú½À´Ï´Ù. ´ÙÀ½ Ç׸ñ¿¡¼´Â º¯°æµÈ ¿µ¿ª¿¡ ´ëÇØ ¼³¸íÇϰí 2.1 Ç÷¯±×ÀÎÀ» 3.0À¸·Î ÀÌÁÖÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Áö½Ã»çÇ×À» Á¦°øÇÕ´Ï´Ù. 3.0¿¡¼ 2.1 Ç÷¯±×ÀÎÀ» ½ÇÇàÇÏ´Â Áß ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì ´ÙÀ½ »çÇ×À» »ìÆì º¸¸é µË´Ï´Ù.
Ç÷¯±×ÀÎ(¹× Ç÷¯±×ÀÎ ´ÜÆí)ÀÇ Manifest ÆÄÀÏ Çì´õ°¡ ÀûÀýÇÑ Ç÷¯±×ÀÎ Manifest ¹öÀüÀ» ½Äº°ÇÏ´Â »õ ÇàÀ» Æ÷ÇÔÇϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù. 3.0 ÀÌÀü¿¡´Â Ç÷¯±×ÀÎÀÌ ÀÌ <?eclipse ...?> Çà Áß Çϳª¸¦ Àü´ÞÇÏÁö ¾Ê¾ÒÁö¸¸ 3.0 ÀÌÈÄ¿¡´Â Ç×»ó ÀÌ ÇàÀ» °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ º¯°æÀº Eclipse ·±Å¸ÀÓÀÌ 3.0À¸·Î À̽ĵÇÁö ¸øÇÑ 3.0 ÀÌÀü Ç÷¯±×ÀÎÀ» È®½ÇÇÏ°Ô ÀνÄÇÏ¿© ÀÚµ¿À¸·Î ±× Ç÷¯±×Àο¡ ´ëÇØ ´õ ³ªÀº 2Áø ȣȯ¼ºÀ» Á¦°øÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇؼÀÔ´Ï´Ù. ÀÌ´Â plugin.xml ÆÄÀÏÀÇ ÀϹÝÀûÀÎ ¾ç½ÄÀÔ´Ï´Ù(fragment.xmlÀÌ À¯»çÇÕ´Ï´Ù).
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin ...>
...
</plugin>
PDE 3.0ÀÌ ÀÛ¼ºÇÑ Ç÷¯±×ÀÎ Manifest´Â ÀÚµ¿À¸·Î ÀÌ ¾ç½ÄÀÌ ¼ö¹ÝµË´Ï´Ù. PDE Ç÷¯±×ÀÎ ÀÌÁÖ µµ±¸¸¦ »ç¿ëÇϵµ·Ï ÇϽʽÿÀ. ÀÌ µµ±¸´Â Ç¥½ÃµÈ ÇàÀ» ÀÚµ¿À¸·Î 2.1 Ç÷¯±×ÀÎÀÇ Manifest¿Í Ç÷¯±×ÀÎ ´ÜÆí¿¡ »ðÀÔÇÏ°í ¿©±â¿¡ ¼³¸íµÈ ´Ù¸¥ ¸¹Àº º¯°æ»çÇ×À» Á¦½ÃÇÕ´Ï´Ù.
ÀÌ Áö½Ã¹®À» plugin.xml¿¡ Ãß°¡ÇÑ °æ¿ì(¼öµ¿À¸·Î ¶Ç´Â PDE¸¦ »ç¿ëÇÏ¿©), ÆÄÀϵµ ÀÇÁ¸ÇÏ´Â Ç÷¯±×ÀÎÀ» ¸í½ÃÀûÀ¸·Î ³ª¿Çϵµ·Ï °»½ÅÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Eclipse 3.0 ÀÌÀü¿¡´Â org.eclipse.core.runtime ¹× org.eclipse.core.boot¿¡ ´ëÇÑ Á¾¼Ó¼ºÀÌ ¹¬½ÃÀûÀ̾ú½À´Ï´Ù. 3.0¿¡¼´Â org.eclipse.core.boot°¡ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î °³¹ßÀÚ´Â org.eclipse.core.runtime ¶Ç´Â org.eclipse.core.runtime.compatibility¸¦ ÀûÀýÇÏ°Ô ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù(¾Æ´Ï¸é µÑ ´Ù ¼±ÅÃÇÏÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù).
Âü°í: ÀÌ´Â 2.1 2Áø Ç÷¯±×ÀÎÀÌ Eclipse 3.0¿¡¼ ½ÇÇàµÇ´Â ¹æ½Ä¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ºñȣȯ¼º Áß ÇϳªÀÔ´Ï´Ù.
±âº» Ç÷§Æû UI Ç÷¯±×ÀÎÀ̾ú´ø org.eclipse.ui Ç÷¯±×ÀÎÀº ÀÌÁ¦ ÀϹÝ(Áï, IDE¿¡ ƯÁ¤ÇÏÁö ¾ÊÀº) Workbench¿¡ ´ëÇØ API ¹× È®ÀåÁ¡¸¸ Á¦°øÇÕ´Ï´Ù. ¼±ÅÃÀû ¹× IDE ƯÁ¤ API¿Í È®ÀåÁ¡Àº ´Ù¸¥ Ç÷¯±×ÀÎÀ¸·Î À̵¿µÇ¾ú½À´Ï´Ù.
ÀÌ º¯°æÀÇ ¿µÇâÀº ´ÙÀ½ µÎ °¡Áö »çÇ×ÀÔ´Ï´Ù. (1) À̵¿µÈ org.eclipse.ui È®ÀåÁ¡ÀÌ »õ È®ÀåÁ¡ ID¸¦ °®½À´Ï´Ù. (2) Çʼö Ç÷¯±×ÀÎ ¸ñ·ÏÀÌ º¯°æµÇ¾ú½À´Ï´Ù.
´ÙÀ½ Å×ÀÌºí¿¡¼ org.eclipse.ui È®ÀåÁ¡Àº ´Ù¸¥ Ç÷¯±×ÀÎÀ¸·Î À̵¿µÇ¾úÀ¸¹Ç·Î È®ÀåÁ¡ ID°¡ º¯°æµË´Ï´Ù. ±âÁ¸ Ç÷¯±×ÀÎÀÌ À̵¿µÈ È®ÀåÁ¡¿¡ È®ÀåÀ» Á¦°øÇÒ °æ¿ì, Ç÷¯±×ÀÎ Manifest ÆÄÀÏ¿¡¼ <extension> ¿ä¼ÒÀÇ "point" ¼Ó¼º¿¡ ÀÖ´Â ÂüÁ¶¸¦ ÇØ´çµÇ´Â »õ È®ÀåÁ¡ ID¸¦ ÂüÁ¶Çϵµ·Ï º¯°æÇØ¾ß ÇÕ´Ï´Ù. PDE Ç÷¯±×ÀÎ ÀÌÁÖ µµ±¸°¡ ÀÌ ¼öÁ¤À» ¼öÇàÇÕ´Ï´Ù.
Âü°í: ÀÌ´Â 2.1 2Áø Ç÷¯±×ÀÎÀÌ Eclipse 3.0¿¡¼ ½ÇÇàµÇ´Â ¹æ½Ä¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ºñȣȯ¼º Áß ÇϳªÀÔ´Ï´Ù. Eclipse 3.0 ·±Å¸ÀÓÀº ÀÚµ¿À¸·Î 3.0 ÀÌÀü Ç÷¯±×ÀÎÀ» ¹ß°ßÇÏ¿©(¾Õ¿¡ ¾ð±ÞÇÑ <?eclipse version="3.0"?> ÇàÀÌ Ç÷¯±×ÀÎ Manifest¿¡ ¾øÀ» °æ¿ì) ÀÚµ¿À¸·Î È®ÀåÁ¡ ¹× Ç÷¯±×ÀÎ Á¾¼Ó¼º º¯°æ»çÇ׿¡ Àû¿ëÇÕ´Ï´Ù.
ÀÌÀü È®ÀåÁ¡ ID |
»õ È®ÀåÁ¡ ID |
org.eclipse.ui.markerHelp | org.eclipse.ui.ide.markerHelp |
org.eclipse.ui.markerImageProviders | org.eclipse.ui.ide.markerImageProviders |
org.eclipse.ui.markerResolution | org.eclipse.ui.ide.markerResolution |
org.eclipse.ui.projectNatureImages | org.eclipse.ui.ide.projectNatureImages |
org.eclipse.ui.resourceFilters | org.eclipse.ui.ide.resourceFilters |
org.eclipse.ui.markerUpdaters | org.eclipse.ui.editors.markerUpdaters |
org.eclipse.ui.documentProviders | org.eclipse.ui.editors.documentProviders |
org.eclipse.ui.workbench.texteditor. markerAnnotationSpecification |
org.eclipse.ui.editors.markerAnnotationSpecification |
´ÙÀ½ Å×À̺íÀº ´Ù¸¥ Ç÷¯±×ÀÎÀ¸·Î À̵¿µÈ, ÀÌÀü¿¡ org.eclipse.ui Ç÷¯±×ÀÎÀÌ Á¦°øÇÑ API ÆÐŰÁö¸¦ ³ª¿ÇÕ´Ï´Ù. (API ÆÐŰÁö, Ŭ·¡½º, ÇÊµå ¹× ¸Þ¼ÒµåÀÇ À̸§Àº º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù.) ÀϺΠ°æ¿ì, API ÆÐŰÁö´Â ÀÌÁ¦ ¿©·¯ Ç÷¯±×ÀÎ »çÀÌ¿¡ ºÐÇҵ˴ϴÙ. ÁÖ¾îÁø Ç÷¯±×Àο¡ Ç¥½Ã °¡´ÉÇÑ API Ŭ·¡½º´Â Ç÷¯±×ÀÎÀÇ Çʼö Ç÷¯±×ÀÎ ¸ñ·Ï¿¡ ÀÇÇØ ÆÇº°µÇ¹Ç·Î, ÀÌ º¯°æ»çÇ׿¡¼´Â API Ŭ·¡½º¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ´Ù½Ã ¾ò±â À§ÇØ ±âÁ¸ Ç÷¯±×ÀÎÀÇ Manifest¿¡ ÀÖ´Â "<requires>" ¿ä¼Ò¸¦ Á¶Á¤ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ º¯°æÀº org.eclipse.ui Ç÷¯±×Àο¡ ÀÇÁ¸ÇÏ´Â Ç÷¯±×Àο¡¸¸ ¿µÇâÀ» ÁÝ´Ï´Ù(Áï, Ç÷¯±×ÀÎ ManifestÀÇ <requires> ¼½¼Ç¿¡ <import plugin="org.eclipse.ui"/>¸¦ Æ÷ÇÔÇÕ´Ï´Ù). ´Ù¸¥ ¸ðµç Ç÷¯±×ÀÎÀº ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ¿µÇâÀ» ¹ÞÀ» °æ¿ì, <import> ¿ä¼Ò¸¦ º¯°æÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é Ç÷¯±×ÀÎÀÌ ÇÊ¿ä·Î ÇÏ´Â ¸ðµç API Ŭ·¡½º°¡ ¹üÀ§ ¾È¿¡ ÀÖµµ·Ï <import> ¿ä¼Ò¸¦ ´õ Ãß°¡ÇϽʽÿÀ. Ç÷¯±×ÀÎÀº ½ÇÁ¦·Î »ç¿ëÇÏ´Â Ç÷¯±×Àο¡ °üÇÑ Á¾¼Ó¼º¸¸ ¾ð±ÞÇϵµ·Ï ÇϽʽÿÀ. ºÒÇÊ¿äÇÑ Á¾¼Ó¼ºÀ» Æ÷ÇÔÇϸé Java Ŭ·¡½º ·Î´õ°¡ ¸ðµç Á¾¼Ó¼º¿¡¼ Ŭ·¡½º¸¦ °Ë»öÇØ¾ß ÇϹǷΠ·±Å¸ÀÓ ¼º´ÉÀÌ ³ªºüÁú ¼ö ÀÖ½À´Ï´Ù. (PDE Ç÷¯±×ÀÎ ÀÌÁÖ µµ±¸´Â Á¾¼Ó¼ºÀ» ¼öÁ¤ÇϹǷΠÃÖ¼Ò ¼¼Æ®¸¦ ÆÇº°ÇÏ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù.)
API ÆÐŰÁö |
2.1 Ç÷¯±×ÀÎ |
ÇØ´çµÇ´Â 3.0 Ç÷¯±×ÀÎ |
org.eclipse.jface.text.* | org.eclipse.ui | org.eclipse.jface.text |
org.eclipse.text.* | org.eclipse.ui | org.eclipse.jface.text |
org.eclipse.ui | org.eclipse.ui | org.eclipse.ui, org.eclipse.ui.ide |
org.eclipse.ui.actions | org.eclipse.ui | org.eclipse.ui, org.eclipse.ui.ide |
org.eclipse.ui.dialogs | org.eclipse.ui | org.eclipse.ui, org.eclipse.ui.ide |
org.eclipse.ui.editors.* | org.eclipse.ui | org.eclipse.ui.editor |
org.eclipse.ui.model | org.eclipse.ui | org.eclipse.ui, org.eclipse.ui.ide |
org.eclipse.ui.part | org.eclipse.ui | org.eclipse.ui, org.eclipse.ui.ide |
org.eclipse.ui.texteditor | org.eclipse.ui | org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editors |
org.eclipse.ui.texteditor.* | org.eclipse.ui | org.eclipse.ui.workbench.texteditor |
org.eclipse.ui.views.bookmarkexplorer | org.eclipse.ui | org.eclipse.ui.ide |
org.eclipse.ui.views.contentoutline | org.eclipse.ui | org.eclipse.ui.views |
org.eclipse.ui.views.markers | org.eclipse.ui | org.eclipse.ui.ide |
org.eclipse.ui.views.navigator | org.eclipse.ui | org.eclipse.ui.ide |
org.eclipse.ui.views.properties | org.eclipse.ui | org.eclipse.ui.views |
org.eclipse.ui.views.tasklist | org.eclipse.ui | org.eclipse.ui.ide |
org.eclipse.ui.wizards.datatransfer | org.eclipse.ui | org.eclipse.ui.ide |
org.eclipse.ui.wizards.newresource | org.eclipse.ui | org.eclipse.ui.ide |
Eclipse 3.0 Platform RuntimeÀº OSGi¸¦ ±âÃÊ·Î ÇϹǷÎ, µÎ °³ÀÇ Ç÷§Æû ·±Å¸ÀÓ Ç÷¯±×ÀÎ org.eclipse.core.runtime ¹× org.eclipse.core.bootÀÇ ±¸Á¶¸¦ º¯°æÇØ¾ß ÇÕ´Ï´Ù.
»õ org.eclipse.core.runtime.compatibility Ç÷¯±×ÀÎÀº ÀÌÀü API¿Í »õ API »çÀÌÀÇ ±¸Çö ºê¸´Áö¸¦ Á¦°øÇϹǷÎ, ÀÌÀü¿¡ org.eclipse.core.runtime ¹× org.eclipse.core.boot¿¡¼ ¹ß°ßµÇ¾ú´ø ¸¹Àº Æó±âµÈ APIÀÇ »õ·Î¿î ȨÀÔ´Ï´Ù. Ç÷§Æû ·±Å¸ÀÓ È®ÀåÁ¡Àº ±¸Á¶ º¯°æ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
±âÁ¸ Ç÷¯±×ÀÎÀ» 3.0À¸·Î ÀÌÁÖÇÒ °æ¿ì, Ç÷¯±×ÀÎÀÇ Manifest´Â Eclipse Ç÷§Æû ·±Å¸ÀÓ Ç÷¯±×ÀÎÀÇ »õ ±¸Á¶¸¦ ¹Ý¿µÇϱâ À§ÇØ °»½ÅµÇ¾î¾ß ÇÕ´Ï´Ù. PDE Ç÷¯±×ÀÎ Manifest ÀÌÁÖ µµ±¸´Â Çʿ信 µû¶ó Á¾¼Ó¼ºÀ» org.eclipse.core.runtime.compatibility¿¡ Ãß°¡ÇÕ´Ï´Ù.
¶ÇÇÑ Ç÷¯±×ÀÎÀ» 3.0À¸·Î Ç¥½ÃÇϰí(<?eclipse version="3.0"?>À» »ç¿ëÇÏ¿©) »ç¿ëÀÚ Ç÷¯±×ÀÎÀÌ Ç÷¯±×ÀΠŬ·¡½º¸¦ Á¤ÀÇÇÒ °æ¿ì, ¸í½ÃÀûÀ¸·Î Ç÷¯±×ÀÎ Manifest¿¡¼ <import plugin="org.eclipse.core.runtime.compatibility"/>¸¦ Á¤ÀÇÇϰųª Ç÷¯±×ÀΠŬ·¡½º°¡ ±âº» »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
Âü°í: ÀÌ´Â 2.1 2Áø Ç÷¯±×ÀÎÀÌ Eclipse 3.0¿¡¼ ½ÇÇàµÇ´Â ¹æ½Ä¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ºñȣȯ¼º Áß ÇϳªÀÔ´Ï´Ù. Eclipse 3.0 ·±Å¸ÀÓÀº ÀÚµ¿À¸·Î 3.0 ÀÌÀü Ç÷¯±×ÀÎÀ» ¹ß°ßÇÏ¿©( <?eclipse version="3.0"?> ÇàÀÌ Ç÷¯±×ÀÎ Manifest¿¡ ¾øÀ» °æ¿ì) ÀÚµ¿À¸·Î Ç÷§Æû ·±Å¸ÀÓ º¯°æ»çÇ׿¡ º¸»óÇÕ´Ï´Ù.
org.eclipse.xerces Ç÷¯±×ÀÎÀº ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î »èÁ¦µÇ¾ú½À´Ï´Ù. XML ±¸¹® ºÐ¼® Áö¿øÀÌ J2SE 1.4¿¡ ³»ÀåµÇ¾î ÀÖÀ¸¹Ç·Î, Xerces Ç÷¯±×ÀÎÀÌ ÀÖÀ¸¸é Ŭ·¡½º ·Î´õ Ãæµ¹ÀÌ ¹ß»ýÇÕ´Ï´Ù. ÀÌÀü¿¡ org.eclipse.xerces Ç÷¯±×ÀÎÀÌ Á¦°øÇß´ø javax.xml.parsers, org.w3c.dom.* ¹× org.xml.sax.* API ÆÐŰÁö´Â ÀÌÁ¦ J2SE ¶óÀ̺귯¸®¿¡¼ »ç¿ë °¡´ÉÇÕ´Ï´Ù.
Ç÷¯±×Àο¡ org.eclipse.xerces Ç÷¯±×ÀÎÀÌ ÇÊ¿äÇÒ °æ¿ì, ¾ð±ÞµÈ Á¾¼Ó¼ºÀÌ Á¦°ÅµÇµµ·Ï »ç¿ëÀÚÀÇ Ç÷¯±×ÀÎ Manifest¸¦ º¯°æÇØ¾ß ÇÕ´Ï´Ù. ¼öÇàµÇ°í ³ª¸é Ç÷¯±×ÀÎ ÄÚµå´Â Ãß°¡ º¯°æ ¾øÀÌ ÄÄÆÄÀÏ ¹× ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù.
org.eclipse.xerces Ç÷¯±×Àο¡ ¾ð±ÞµÈ Á¾¼Ó¼ºÀ» °¡Áö°í ÀÖ´Â 2.1 2Áø Ç÷¯±×Àο¡¼´Â Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼ ½ÇÇàÇÒ ¶§ ÀüÁ¦Á¶°ÇÀÌ ¾ø¾îÁý´Ï´Ù. Ç÷¯±×ÀÎÀº °á±¹ Ȱ¼ºÈµÇÁö ¾Ê½À´Ï´Ù.
Eclipse 3.0 ÀÌÀü¿¡´Â Eclipse°¡ °ÅÀÇ ´ÜÀÏ ½º·¹µå¿¡¼ ÀÛµ¿Çß½À´Ï´Ù. ´ëºÎºÐÀÇ API ¸Þ¼Òµå ¹× È®ÀåÁ¡Àº UI ½º·¹µå¸¦ ºí·ÏÈÇÑ ÁøÇà ´ëÈ »óÀÚ¿¡¼ »ý¼ºµÈ ½º·¹µå³ª UI ½º·¹µå¿¡¼ ÀÛµ¿Çß½À´Ï´Ù. ´ëºÎºÐÀÇ Ç÷¯±×ÀÎ ÀÛ¼ºÀÚ´Â ¸ðµç UI Ȱµ¿ÀÌ UI ½º·¹µå¿¡¼ ¹ß»ýÇßÀ½À» È®ÀÎÇÏ´Â °Í°ú´Â º°µµ·Î, ½º·¹µå ¾ÈÀü¼º¿¡ ´ëÇØ ¸¹Àº °ÆÁ¤À» ÇÒ Çʿ䰡 ¾ø¾ú½À´Ï´Ù. Eclipse 3.0¿¡¼´Â ÀϹÝÀûÀ¸·Î µ¿½Ã¼ºÀÌ ´õ Çâ»óµÇ¾ú½À´Ï´Ù. ¸¹Àº Á¶ÀÛÀÌ ¹é±×¶ó¿îµå ½º·¹µå¿¡¼ ¹ß»ýÇϸç, ÀÌ Á¶ÀÛÀº UI ½º·¹µå¸¦ Æ÷ÇÔÇÏ¿© ´Ù¸¥ ½º·¹µå¿Í µ¿½Ã¿¡ ½ÇÇàµÉ ¼ö ÀÖ½À´Ï´Ù. Äڵ尡 ¹é±×¶ó¿îµå ½º·¹µå¿¡¼ ½ÇÇàµÇ´Â ¸ðµç Ç÷¯±×ÀÎÀº ÀÌÁ¦ ÇØ´ç ÄÚµåÀÇ ½º·¹µå ¾ÈÀü¼º¿¡ ´ëÇØ À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù.
org.eclipse.core.runtime.jobs
API¸¦ »ç¿ëÇÏ´Â ¹è°æ¿¡¼ ¸í½ÃÀûÀ¸·Î
Á¶ÀÛÀ» ½ÇÇàÇÏ´Â Ç÷¯±×ÀÎ ¿Ü¿¡µµ, ¹é±×¶ó¿îµå ½º·¹µå¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸¸µå´Â
¸î °¡ÁöÀÇ Ç÷§Æû API ±â´É ¹× È®ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ±â´É¿¡ ¿¬°áµÇ´Â Ç÷¯±×ÀÎÀº
Äڵ尡 ½º·¹µå ¾ÈÀü »óÅÂÀÎÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ½ Å×À̺íÀº Eclipse 3.0¿¡¼ ¹é±×¶ó¿îµå ½º·¹µå¿¡¼ ¸ðµç ¶Ç´Â ÀϺΠÄڵ带 ½ÇÇàÇÏ´Â
È®ÀåÁ¡°ú API¸¦ ¿ä¾àÇÑ °ÍÀÔ´Ï´Ù.
È®ÀåÁ¡ ¶Ç´Â API Ŭ·¡½º |
Âü°í |
org.eclipse.core.runtime.IRegistryChangeListener | ¹è°æ¿¡¼ ½ÇÇàµÇ´Â Eclipse 3.0ÀÇ »õ ±â´É |
org.eclipse.core.resources.IResourceChangeListener | ÀÌÁ¦´Â ¹è°æ¿¡¼ ½ÇÇàµÇ´Â AUTO_BUILD À̺¥Æ® |
org.eclipse.core.resources.builders(È®ÀåÁ¡) | ÀÌÁ¦´Â ¹è°æ¿¡¼ ½ÇÇàµÇ´Â ÀÚµ¿ ºôµå |
org.eclipse.core.resources.ISaveParticipant | ÀÌÁ¦´Â ¹è°æ¿¡¼ ½ÇÇàµÇ´Â SNAPSHOT À̺¥Æ® |
org.eclipse.ui.workbench.texteditor.quickdiffReferenceProvider(È®ÀåÁ¡) | ¹è°æ¿¡¼ ½ÇÇàµÇ´Â Eclipse 3.0ÀÇ »õ ±â´É |
org.eclipse.ui.decorators(È®ÀåÁ¡) | Eclipse 2.1¿¡¼ ÀÌ¹Ì ¹è°æ¿¡¼ ½ÇÇàµÊ |
org.eclipse.ui.startup(È®ÀåÁ¡) | Eclipse 2.1¿¡¼ ÀÌ¹Ì ¹è°æ¿¡¼ ½ÇÇàµÊ |
org.eclipse.team.core.org.eclipse.team.core.repository(È®ÀåÁ¡) | ÀÌÁ¦´Â ¸¹Àº Á¶ÀÛÀÌ ¹è°æ¿¡¼ ½ÇÇàµÊ |
org.eclipse.team.ui.synchronizeParticipants(È®ÀåÁ¡) | ¹è°æ¿¡¼ ½ÇÇàµÇ´Â Eclipse 3.0ÀÇ »õ ±â´É |
org.eclipse.debug.core.launchConfigurationTypes(È®ÀåÁ¡) | ÀÌÁ¦´Â ¹è°æ¿¡¼ ½ÇÇà |
org.eclipse.jdt.core.IElementChangedListener | ElementChangedEvent.PRE_AUTO_BUILD ´Â ÀÌÁ¦ ¹è°æ¿¡¼ ½ÇÇàµÇ°í, POST_RECONCILE ´Â
ÀÌ¹Ì ¹è°æ¿¡¼ ½ÇÇàµÇ¾úÀ½ |
Äڵ带 ½º·¹µå ¾ÈÀü »óÅ·Π¸¸µé±â À§ÇØ »ç¿ë °¡´ÉÇÑ ´Ù¾çÇÑ Àü·«ÀÌ ÀÖ½À´Ï´Ù. ±âº»
¼Ö·ç¼ÇÀº ¸ðµç ÀÛ¾÷ÀÌ UI ½º·¹µå¿¡¼ ¹ß»ýÇϵµ·Ï ÇÏ¿© Á÷·ÄÈµÈ ½ÇÇàÀÌ µÇµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌ´Â CPU Áý¾àÀû 󸮸¦ ¼öÇàÇÏÁö ¾Ê´Â UI Ç÷¯±×Àο¡ ´ëÇÑ ÀϹÝÀûÀÎ Á¢±Ù ¹æ½ÄÀÔ´Ï´Ù.
À̸¦ ¼öÇàÇÒ °æ¿ì, Display.syncExec
ÀÇ °íÀ¯ÇÑ ±³Âø »óÅ À§Ç輺¿¡
À¯ÀÇÇϽʽÿÀ. ÀϹÝÀûÀ¸·Î Display.asyncExec
°¡
´õ ¾ÈÀüÇÕ´Ï´Ù. ÄÚµå ½ÇÇà ½Ã±â¿¡ ´ëÇÑ Á¤È®ÇÑ Á¦¾î°¡ ¾ø´Â ´ë½Å ±³Âø »óÅ À§Ç輺ÀÌ
µµÀÔµÇÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
Äڵ带 ½º·¹µå ¾ÈÀü »óÅ·Π¸¸µé±â À§ÇÑ ´Ù¸¥ ±â¼úÀº ´ÙÀ½°ú °°½À´Ï´Ù.
org.eclipse.core.runtime.jobs.ILock
°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
ÀÏ¹Ý Àá±Ý¿¡ º¸´Ù ³ªÀº ILock
ÀÇ ÀÌÁ¡Àº syncExec
¸¦ ¼öÇàÇÒ ¶§
UI ½º·¹µå¿¡ ÀÚµ¿À¸·Î Àü¼ÛµÇ¸ç ±³Âø »óŸ¦ ·Î±ëÇÑ ÈÄ ÇØ°áÇÏ´Â ±¸Çö¿¡
±³Âø »óÅ ¹ß°ß Áö¿øÀÌ ³»ÀåµÇ¾î ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù.Display.asyncExec
)ÀÌ
ÀÖ½À´Ï´Ù.java.lang.String
¹× org.eclipse.core.runtime.IPath
¿Í °°Àº
µ¥ÀÌÅÍ ±¸Á¶¸¦ ½º·¹µå ¾ÈÀü »óÅ·Π¸¸µé±â À§ÇØ »ç¿ëµÇ´Â Á¢±Ù ¹æ½ÄÀÔ´Ï´Ù. º¯°æÇÒ ¼ö ¾ø´Â ¿ÀºêÁ§Æ®ÀÇ
ÀåÁ¡Àº ¼öÁ¤ ½Ã ¿©ºÐÀÇ ÀÛ¾÷ ºñ¿ëÀ¸·Î ´ë´ÜÈ÷ ºü¸¥ Àб⠾׼¼½ºÀÔ´Ï´Ù.´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IWorkbenchPage ÀÎÅÍÆäÀ̽º¿¡¼ »èÁ¦µÇ¾ú½À´Ï´Ù. IWorkbenchPage´Â ÀÏ¹Ý Workbench¿¡¼ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â º»·¡ ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.
ÀÌ IWorkbenchPage.openEditor ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â Å¬·¡½º org.eclipse.ui.ide.IDE(org.eclipse.ui.ide Ç÷¯±×Àο¡ ÀÖ´Â)¿¡ ¼±¾ðµÈ ÇØ´çµÇ´Â °ø¿ë Á¤Àû ¸Þ¼Òµå¸¦ ´ë½Å È£ÃâÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ IWorkbenchPage.openSystemEditor(IFile) ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â »õ FileEditorInput(IFile)À» »ç¿ëÇÏ¿© IFileÀ» IEditorInputÀ¸·Î º¯È¯ÇÑ ÈÄ openEditor(IEditorInput,String) ¸Þ¼Òµå¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. Áï, page.openSystemEditor(file)À» page.openEditor(»õ FileEditorInput(file), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID)·Î ÀçÀÛ¼ºÇϽʽÿÀ. Âü°í: ÆíÁý±â ID IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID¸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.IPathEditorInput(FileEditorInputÀÌ ¼öÇàÇÏ´Â)À» ±¸ÇöÇÏ´Â ÆíÁý±â ÀÔ·ÂÀ» Àü´ÞÇØ¾ß ÇÕ´Ï´Ù.
Âü°í: ÀÌ´Â 2.1 2Áø Ç÷¯±×ÀÎÀÌ Eclipse 3.0¿¡¼ ½ÇÇàµÇ´Â ¹æ½Ä¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ºñȣȯ¼º Áß ÇϳªÀÔ´Ï´Ù. Eclipse 3.0¿¡´Â »èÁ¦µÈ openEditor ¹× openSystemEditor ¸Þ¼Òµå Áß Çϳª¸¦ »ç¿ëÇÏ¿© ±âÁ¸ 2.1 Ç÷¯±×ÀÎ 2ÁøÀÌ ÀÌ API º¯°æ¿¡µµ ºÒ±¸Çϰí 2.1¿¡¼¿Í °°ÀÌ °è¼Ó ÀÛµ¿Çϵµ·Ï ÇÏ´Â 2Áø ·±Å¸ÀÓ È£È¯¼º ¸ÞÄ¿´ÏÁòÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. (»èÁ¦µÈ ¸Þ¼Òµå´Â org.eclipse.ui.workbench.compatibility ´ÜÆí¿¡ ÀÇÇØ È¿À²ÀûÀ¸·Î "´Ù½Ã Ãß°¡"µË´Ï´Ù.)´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IEditorPart ÀÎÅÍÆäÀ̽º¿¡¼ »èÁ¦µÇ¾ú½À´Ï´Ù. IEditorPart´Â ÀÏ¹Ý Workbench¿¡¼ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â º»·¡ ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ®´Â ÆíÁý±â ÆÄÆ®°¡ org.eclipse.ui.ide.IGotoMarker¸¦ ±¸ÇöÇϰųª ÀÌ¿¡ ¸Â°Ô º¯°æÇÒ °æ¿ì(org.eclipse.ui.ide Ç÷¯±×Àο¡¼) ´ë½Å Å×½ºÆ®ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ °æ¿ì gotoMarker(IMarker)¸¦ È£ÃâÇϽʽÿÀ. IDE Ŭ·¡½º´Â À̸¦ ¼öÇàÇϱâ À§ÇÑ Æí¸®ÇÑ ¸Þ¼Òµå(IDE.gotoMarker(ÆíÁý±â, ¸¶Ä¿))¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
IMarker Á¤º¸¸¦ ±âÃÊ·Î ÀÚüÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ÆíÁý±â¸¦ ±¸ÇöÇϴ Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.ide.IGotoMarker¸¦ ±¸ÇöÇϰųª ÀÌ¿¡ ¸Â°Ô º¯°æÇØ¾ß ÇÕ´Ï´Ù.IGotoMarkerÀÇ À¯ÀÏÇÑ ¸Þ¼Òµå´Â gotoMarker(IMarker)À̰í ÀÌÀü IEditorPart.gotoMarker(IMarker)¿Í °°Àº ¼¸í ¹× ½ºÆåÀ» °¡Áö°í ÀÖÀ¸¹Ç·Î, ±âÁ¸ ÆíÁý±â ±¸ÇöÀº Ŭ·¡½º Á¤ÀÇÀÇ ±¸Çö Àý¿¡ IGotoMarker¸¦ Æ÷ÇÔ½ÃÄѼ ÀÌ º¯°æ¿¡ ¸Â°Ô ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼ ½ÇÇàµÉ °æ¿ì Ŭ·¡½º ¸µÅ© ¿À·ù ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
ÆíÁý±â ½ÇÇà±â ÀÎÅÍÆäÀ̽º org.eclipse.ui.IEditorLauncher´Â ¿ÜºÎ ÆíÁý±â¸¦ Á¦°øÇÏ´Â Ç÷¯±×Àο¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù. ´ÙÀ½ ¸Þ¼Òµå°¡ ÀÌ ÀÎÅÍÆäÀ̽º¿¡¼ Á¦°ÅµÇ¾ú½À´Ï´Ù. IEditorLauncher´Â ÀÏ¹Ý Workbench¿¡¼ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â º»·¡ ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.
´ÙÀ½°ú °°ÀÌ ´ëüµÇ¾ú½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼ ½ÇÇàµÉ °æ¿ì Ŭ·¡½º ¸µÅ© ¿À·ù ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IEditorRegistry ÀÎÅÍÆäÀ̽º¿¡¼ Á¦°ÅµÇ¾ú½À´Ï´Ù. IEditorRegistry´Â ÀÏ¹Ý Workbench¿¡¼ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â º»·¡ ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.
½Ã½ºÅÛ ¿ÜºÎ ÆíÁý±â ¹× ½Ã½ºÅÛ In-Place ÆíÁý±â ID(SYSTEM_EXTERNAL_EDITOR_ID ¹× SYSTEM_INPLACE_EDITOR_ID)¸¦ Ç¥½ÃÇÏ´Â »õ »ó¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ µÎ °¡ÁöÀÇ ÆíÁý±â¸¦ »ç¿ëÇÏ·Á¸é org.eclipse.ui.IPathEditorInputÀ» ±¸ÇöÇϰųª ÀÌ¿¡ ¸Â°Ô º¯°æÇÏ´Â ÆíÁý±â ÀÔ·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù. In-Place ÆíÁý±â ¼³¸íÀÚ´Â In-Place ÆíÁýÀ» Áö¿øÇÏÁö ¾Ê´Â Eclipse ±¸¼º¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.
´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IWorkbench ÀÎÅÍÆäÀ̽º¿¡¼ »èÁ¦µÇ¾ú½À´Ï´Ù. IWorkbench´Â ÀÏ¹Ý Workbench¿¡¼ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â º»·¡ ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼ ½ÇÇàµÉ °æ¿ì ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù.
org.eclipse.ui.texteditor.AbstractTextEditor°¡ IFile°ú °ü°è°¡ ¾øµµ·Ï ¸¸µé±â À§ÇØ, org.eclipse.ui.texteditor.AbstractDocumentProvider´Â ¹®¼ Á¦°øÀÚ Á¶ÀÛ(DocumentProviderOperation) ¹× ¹®¼ Á¦°øÀÚ Á¶ÀÛ ½ÇÇà ÇÁ·Î±×·¥(IRunnableContext) °³³äÀ» µµÀÔÇß½À´Ï´Ù. Àç¼³Á¤, ÀúÀå ¶Ç´Â µ¿±âȸ¦ ¼öÇàÇϵµ·Ï ¿äûÇÑ °æ¿ì, AbstractDocumentProvider´Â ¹®¼ Á¦°øÀÚ Á¶ÀÛÀ» ÀÛ¼ºÇϰí Á¶ÀÛ ½ÇÇà ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© Á¶ÀÛÀ» ½ÇÇàÇÕ´Ï´Ù. ½ÇÇà °¡´É ÄÁÅØ½ºÆ®´Â getOperationRunner ¸Þ¼Òµå¸¦ ÅëÇØ ¼ºêŬ·¡½º°¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº Ŭ¶óÀÌ¾ðÆ®°¡ ¾Ë¸Â°Ô º¯°æÇØ¾ß ÇÏ´Â º¯°æ»çÇ×ÀÇ ¿ä¾àÀÔ´Ï´Ù.
AbstractDocumentProvider ¼ºêŬ·¡½º org.eclipse.ui.editors.text.StorageDocumentProvider´Â Ç×»ó ³Î(null)À» ¸®ÅÏÇϵµ·Ï getOperationRunner ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌ´Â StorageDocumentProviderÀÇ ¼ºêŬ·¡½º°¡ ÀÌ º¯°æÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê¾Æ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
StorageDocumentProvider ¼ºêŬ·¡½º org.eclipse.ui.editors.text.FileDocumentProvider´Â WorkspaceModifyOperation¿¡ ÁöÁ¤µÈ DocumentProviderOperationsÀÇ ½ÇÇàÀ» À§ÇØ IRunnableContext¸¦ ¸®ÅÏÇÏ´Â getOperationRunner ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù. ´Ù¸¥ FileDocumentProvider º¯°æ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
org.eclipse.ui.texteditor.AbstractTextEditor º¯°æ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
ResourceAction action= new AddMarkerAction(TextEditorMessages.getResourceBundle(), "Editor.AddBookmark.", this, IMarker.BOOKMARK, true); //$NON-NLS-1$ action.setHelpContextId(ITextEditorHelpContextIds.BOOKMARK_ACTION); action.setActionDefinitionId(ITextEditorActionDefinitionIds.ADD_BOOKMARK); setAction(IDEActionFactory.BOOKMARK.getId(), action);
action= new AddTaskAction(TextEditorMessages.getResourceBundle(), "Editor.AddTask.", this); //$NON-NLS-1$ action.setHelpContextId(ITextEditorHelpContextIds.ADD_TASK_ACTION); action.setActionDefinitionId(ITextEditorActionDefinitionIds.ADD_TASK); setAction(IDEActionFactory.ADD_TASK.getId(), action);
AbstractTextEditor ¼ºêŬ·¡½º org.eclipse.ui.texteditor.StatusTextEditor´Â ¼úºÎ ¸Þ¼Òµå isErrorStatus(IStatus)¸¦ Á¦°øÇÕ´Ï´Ù. ÁÖ¾îÁø »óŸ¦ ¿À·ù·Î °£ÁÖÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ °áÁ¤Çϱâ À§ÇØ ¼ºêŬ·¡½º¸¦ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.
org.eclipse.ui.editors.text.AbstractDecoratedTextEditor º¯°æ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
Á¦¸ñ¾ø´Â ¾î³ëÅ×ÀÌ¼Ç Áö¿ø µµÀÔÀÇ ÀϺηÎ, ´ÙÀ½°ú °°ÀÌ ¾î³ëÅ×À̼ÇÀÌ º¯°æµÇ¾ú½À´Ï´Ù.
org.eclipse.jface.text.source.Annotation org.eclipse.jface.text.source.AnnotationModel org.eclipse.jface.text.source.AnnotationModelEvent org.eclipse.jface.text.source.IAnnotationModel org.eclipse.jface.text.source.IAnnotationModelListener org.eclipse.jface.text.source.IAnnotationModelListenerExtension
Eclipse 3.0¿¡´Â »õ ÀÏ¹Ý ÄÜ¼Ö Áö¿øÀÌ ÀÖ½À´Ï´Ù. ÀÏ¹Ý ÄܼÖÀº â > º¸±â Ç¥½Ã > ±âº» > ÄܼÖÀ» ÅëÇØ »ç¿ë °¡´ÉÇϸç Eclipse µð¹ö±×¿Í Ant ÅëÇÕ¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.
Äֿܼ¡ ´ëÇÑ º¸±â ID´Â org.eclipse.debug.ui.ConsoleView¿¡¼ org.eclipse.ui.console.ConsoleView·Î º¯°æµÇ¾ú½À´Ï´Ù. ÇÁ·Î±×·¥ ¹æ½ÄÀ¸·Î ÄܼÖÀ» ¿©´Â 2.1 Ç÷¯±×ÀÎÀº ÀÌÀü º¸±â°¡ ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾ÊÀ¸¹Ç·Î ½ÇÆÐÇÕ´Ï´Ù.
3.0¿¡¼, ¸®½º³Ê°¡ "don't care"¸¦ Á¦¾ÈÇÒ ¼ö ÀÖµµ·Ï ¸Þ¼Òµå org.eclipse.jdt.debug.core.IJavaBreakpointListener.breakpointHit(IJavaBreakpoint, IJavaThread) ¹× installingBreakpoing(IJavaTarget, IJavaBreakpoint, IJavaType)ÀÌ ºÎ¿ï¿¡¼ int·Î º¯°æµÇ¾ú½À´Ï´Ù. 3.0 ÀÌÀü ¸±¸®½º¿¡¼´Â ¸®½º³Ê°¡ Áß´ÜÁ¡À» È÷Æ®ÇßÀ» ¶§ "suspend" ¶Ç´Â "don't suspend"¸¸ Á¦¾ÈÇϰí Áß´ÜÁ¡ÀÌ ¼³Ä¡µÇ·Á°í ÇÒ ¶§ "install" ¶Ç´Â "don't install"¸¸ Á¦¾ÈµÇ¾ú½À´Ï´Ù. 3.0¿¡¼´Â ¸®½º³Ê°¡ À§ÀÇ µÎ ¾Ë¸² Áß Çϳª¿¡ ´ëÇØ "don't care"µµ Á¦¾ÈÇÒ ¼ö ÀÖ½À´Ï´Ù. À̷μ Ŭ¶óÀÌ¾ðÆ®´Â °ÆÁ¤ÀÌ µÇ´Â »óȲ¿¡¼ °áÁ¤ÀûÀÎ Á¦¾È¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. "Áß´ÜÁ¡ È÷Æ®" ¾Ë¸²ÀÇ °æ¿ì¿¡´Â Áß´ÜÁ¡ÀÌ ÀÓÀÇ ¸®½º³Ê°¡ "suspend"¸¦ Á¦¾ÈÇϰųª ¸ðµç ¸®½º³Ê°¡ "don't care"¸¦ Á¦¾ÈÇÒ °æ¿ì ÀϽÃÁß´ÜÇÏ°Ô µË´Ï´Ù. ±×¸®°í ÃÖ¼Ò ÇϳªÀÇ ¸®½º³Ê°¡ "don't suspend"¸¦ Á¦¾ÈÇÏ°í ¾î¶² ¸®½º³Êµµ "suspend"¸¦ Á¦¾ÈÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â ÀϽÃÁß´ÜÇÏÁö ¾Ê½À´Ï´Ù. ¸¶Âù°¡Áö·Î, "breakpoint installing" ¾Ë¸²ÀÇ °æ¿ì, Áß´ÜÁ¡Àº ¸®½º³Ê°¡ ¼³Ä¡ÇÒ °ÍÀ» Á¦¾ÈÇÒ °æ¿ì, ¶Ç´Â ¸ðµç ¸®½º³Ê°¡ "don't care"¸¦ Á¦¾ÈÇÒ °æ¿ì¿¡ ¼³Ä¡µË´Ï´Ù. ÃÖ¼Ò ÇϳªÀÇ ¸®½º³Ê°¡ "don't install"À» Á¦¾ÈÇÏ°í ¾î¶² ¸®½º³Êµµ "install"À» Á¦¾ÈÇÏÁö ¾ÊÀ» °æ¿ì Áß´ÜÁ¡Àº ¼³Ä¡µÇÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î, ±¸ÇöÀÚ´Â ¾î´À ÂÊÀ̵çÁö °·ÂÇÑ °ßÇØ¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¸é DONT_CARE¸¦ ¸®ÅÏÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, "suspend"¸¦ Á¦¾ÈÇÏ¸é ´Ù¸¥ ¸®½º³Ê Á¦¾È "don't suspend"¸¦ ´ëüÇÑ´Ù´Â Á¡À» ±â¾ïÇØ¾ß ÇÕ´Ï´Ù.
IJavaBreakpointListener ÀÎÅÍÆäÀ̽º´Â Java ÄÚµå·Î Áß´ÜÁ¡À» ÀÛ¼ºÇϰųª Áß´ÜÁ¡¿¡ ¹ÝÀÀÇϴ Ŭ¶óÀÌ¾ðÆ®°¡ ±¸ÇöÇÕ´Ï´Ù. JDT ÀÚü¸¦ ³Ñ¾î¼´Â ¼Ò¼öÀÇ Å¬¶óÀÌ¾ðÆ®°¡ ÀÖ½À´Ï´Ù. ÀÌ º¯°æÀ¸·Î ¼öÁ¤µÇ´Â ¹®Á¦Á¡(¹ö±× 37760)À» º¸°íÇÑ Å¬¶óÀÌ¾ðÆ®¸¦ ÀúÀåÇϽʽÿÀ. ÀÌ´Â IJavaBreakpointListener ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ±âÁ¸ Äڵ忡 ´ëÇÑ Áß´Ü º¯°æÀÔ´Ï´Ù. ÀÌ ÄÚµå´Â 3.0¿¡¼ ÄÄÆÄÀÏ ¶Ç´Â ½ÇÇàµÇ±â Àü¿¡ ÀûÀýÇÑ int °ªÀ» ¸®ÅÏÇϵµ·Ï ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
3.0 ÀÌÀü¿¡´Â, SWT Ŭ·¡½º org.eclipse.swt.dnd.ClipboardÀÇ ¸Þ¼Òµå°¡ UI ½º·¹µå°¡ ¾Æ´Ñ ´Ù¸¥ ½º·¹µå¿¡¼ ½ÇÇàµÇµµ·Ï Çã¿ëµÇ¾ú½À´Ï´Ù. ÀÌ ½Ç¼ö·Î ¿î¿µ üÁ¦°¡ ¸ðµç Ŭ¸³º¸µå »óÈ£ÀÛ¿ëÀ» UI ½º·¹µå¿¡¼ ¼öÇàÇϵµ·Ï ¿ä±¸ÇÏ´Â GTK¿¡¼ ½ÇÆÐ°¡ ¹ß»ýÇß½À´Ï´Ù. ¸¹Àº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ´ÜÀÏ ½º·¹µå »óÅÂÀ̰í Windows¿¡¼ ´ëºÎºÐÀÇ Å×½ºÆ®¸¦ ¹ÞÀ¸¹Ç·Î ÀÌÀü¿¡¼ ½Ç¼ö°¡ µå·¯³ªÁö ¾Ê¾Ò½À´Ï´Ù. Ŭ¸³º¸µå API°¡ Ç÷§Æû »çÀÌ¿¡ Áö¼Ó °¡´ÉÇϵµ·Ï Çϱâ À§ÇØ, 3.0¿¡¼´Â UI°¡ ¾Æ´Ñ ½º·¹µå¿¡¼ È£ÃâÇÑ °æ¿ì SWT ¿¹¿Ü(ERROR_THREAD_INVALID_ACCESS)°¡ ¹ß»ýÇϵµ·Ï ¸ðµç Ŭ¸³º¸µå API ¸Þ¼ÒµåÀÇ ±¸Çö ¹× ½ºÆåÀÌ º¯°æµÇ¾ú½À´Ï´Ù. Ŭ¸³º¸µå ¼ºñ½º´Â º¸Åë ¸¹Àº Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ Áß´Ü º¯°æ¿¡¼ °Ý¸®µÇµµ·Ï ÇÏ´Â Eclipse ÄÄÆ÷³ÍÆ®(¿¹: ¹®¼ ÆíÁý±â)¿¡ ÀÇÇØ ÀÚµ¿À¸·Î Á¦°øµË´Ï´Ù. Ŭ¸³º¸µå¸¦ Á÷Á¢ »ç¿ëÇÏ´Â ±âÁ¸ ÄÚµå´Â UI ½º·¹µå·Î ¾×¼¼½º¸¦ À̵¿ÇÏ´Â °ÍÀÌ ÀûÀýÇÑ °æ¿ì Display.asyncExec ¶Ç´Â syncExec¸¦ »ç¿ëÇÏ¿© ¿Ã¹Ù¸¥ ½º·¹µå¿¡¼ API ¸Þ¼Òµå°¡ È£ÃâµÇ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
3.0¿¡¼, SWT´Â ÀÛ¾÷ÀÌ OS¿¡¼ ¼öÇàµÇ±â Àü¿¡ Ű ´Ù¿î À̺¥Æ®¸¦ º¸°íÇÕ´Ï´Ù. ÀÌ´Â 3.0 ÀÌÀü ¹öÀü¿¡¼º¸´Ù ÈξÀ ºü¸¨´Ï´Ù. ÀÌ º¯°æÀº À§ÁöÆ®(widget)°¡ ¹®ÀÚ¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ °®±â Àü¿¡ Ű À̺¥Æ®¸¦ ÀÎÅͼÁÆ®ÇØ¾ß ÇÏ´Â Eclipse¿¡¼ÀÇ Å° ¹ÙÀεùÀ» Áö¿øÇϱâ À§ÇØ ¼öÇàµÇ¾ú½À´Ï´Ù. ÀÌ º¯°æÀÇ °á°ú´Â ÇÏÀ§ ·¹º§ org.eclipse.swt.SWT.KeyDown À̺¥Æ®¸¦ Á÷Á¢ ó¸®ÇÏ´Â Äڵ忡 Ç¥½Ã °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ´Â ÅØ½ºÆ® À§ÁöÆ®ÀÇ ¸®½º³Ê°¡ Ű ´Ù¿î À̺¥Æ®¸¦ ¼ö½ÅÇÒ ¶§ À§ÁöÆ®ÀÇ ÄÁÅÙÃ÷(getText())°¡ ¹æ±Ý ÀÔ·ÂÇÑ Å°¸¦ ¾ÆÁ÷ Æ÷ÇÔÇÏÁö ¾ÊÀ½À» ÀǹÌÇÕ´Ï´Ù(3.0 ÀÌÀü¿¡´Â Æ÷ÇÔÇß½À´Ï´Ù). ÇöÀç ۸¦ Æ÷ÇÔÇÏ´Â À§ÁöÆ®¿¡¼ Àüü ÅØ½ºÆ®¸¦ °¡Á®¿À±â À§ÇÑ ±ÇÀåµÇ´Â ¹æ¹ýÀº ÇÏÀ§ ·¹º§ SWT.KeyDown À̺¥Æ®°¡ ¾Æ´Ñ ´õ ³ôÀº ·¹º§ÀÇ SWT.Modify ¶Ç´Â SWT.Verify À̺¥Æ®¸¦ ó¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ¹Ì ÀÌ ¹æ½ÄÀ¸·Î ¼öÇàÇÏ´Â ÄÚµå´Â ÀÌ º¯°æÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
3.0 ÀÌÀü¿¡´Â, ÃÊÁ¡ÀÌ SWT Ŭ·¡½º org.eclipse.swt.widgets.Canvas³ª ÇØ´çµÇ´Â ¼ºêŬ·¡½º(»ç¿ëÀÚ Á¤ÀÇ À§ÁöÆ®¸¦ Æ÷ÇÔÇÏ¿©) Áß Çϳª¿¡ ÀÖÀ» °æ¿ì Ctrl+Tab, Shift+Tab, Ctrl+PgUp ¶Ç´Â Ctrl+PgDnÀ» ´©¸£¸é Ű À̺¥Æ®¸¦ º¸°íÇÏÁö ¾Ê°í ÀÚµ¿À¸·Î ´ÙÀ½/ÀÌÀü À§ÁöÆ®·ÎÀÇ ¼øÈ¸°¡ Æ®¸®°ÅµË´Ï´Ù. ÀÌ µ¿ÀÛÀº ÁöÁ¤ÇÏÁö ¾Ê¾ÒÁö¸¸, Canvase°¡ ÀÔ·ÂµÈ ¸ðµç ۸¦ È®ÀÎÇÏ´Â ±ÔÄ¢¿¡ ´ëÇØ Ä«¿îÅ͸¦ ½ÇÇàÇÕ´Ï´Ù. ¼øÈ¸¸¦ ó¸®ÇÏ´Â ÀûÀýÇÑ ¹æ¹ýÀº ¼øÈ¸ ¸®½º³Ê¸¦ µî·ÏÇÏ´Â °ÍÀÔ´Ï´Ù. 3.0¿¡¼ÀÇ Eclipse Ű ¹ÙÀεùÀ» ÀûÀýÇÏ°Ô Áö¿øÇϱâ À§ÇØ, ÀÌÁ¦´Â Canvas°¡ ¼øÈ¸ÇÏ´Â ´ë½Å Ctrl+Tab, Shift+Tab, Ctrl+PgUp ¹× Ctrl+PgDn Ű À̺¥Æ®¸¦ È®ÀÎÇϵµ·Ï ±âº» µ¿ÀÛÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ¿ø·¡ Canvas¸¦ »ç¿ëÇϰųª CanvasÀÇ ¼ºêŬ·¡½º¸¦ Á¤ÀÇÇÒ °æ¿ì, ¼øÈ¸ ¸®½º³Ê¸¦ µî·ÏÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ.
SWT Ŭ·¡½º org.eclipse.swt.widgets.Table ¹× Tree¿¡¼ Ç׸ñÀ» ¸¶¿ì½º·Î ¼±ÅÃÇÏ¸é ¸ðµç ¿î¿µ ȯ°æ¿¡¼ ÀÏÁ¤ÇÏ°Ô À̺¥Æ® ½ÃÄö½º MouseDown-Selection-MouseUpÀÌ »ý¼ºµË´Ï´Ù. ¸¶Âù°¡Áö·Î, Űº¸µå ¼±ÅûçÇ×Àº ¸ðµç ¿î¿µ ȯ°æ¿¡¼ ÀÏÁ¤ÇÏ°Ô À̺¥Æ® ½ÃÄö½º KeyDown-Selection-KeyUpÀ» »ý¼ºÇÕ´Ï´Ù. 3.0 ÀÌÀü¿¡´Â À̺¥Æ® ¼ø¼°¡ ÀÏÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. Motif ¹× Photon¿¡¼ Ç×»ó Selection À̺¥Æ®¸¦ ¸ÕÀú º¸°íÇÏ¿© ³ª¸ÓÁö¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù(Áï, Selection-MouseDown-MouseUp ¶Ç´Â Selection-KeyDown-KeyUp). 3.0ÀÇ °æ¿ì, Motif ¹× PhotonÀÇ À̺¥Æ® ¼ø¼°¡ ´Ù¸¥ °Í°ú ÀÏÄ¡Çϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù. {Windows, GTK} ¹× {Motif, Photon}¿¡¼ ¿Ã¹Ù¸£°Ô ÀÛµ¿Çß´ø ±âÁ¸ ÄÚµå´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ¿Ã¹Ù¸£Áö ¾ÊÀº À̺¥Æ® ¼ø¼¿¡ ÀÇÁ¸ÇÏÁö ¾Êµµ·Ï Äڵ带 È®ÀÎÇÏ´Â °ÍÀÌ ±ÇÀåµË´Ï´Ù.
org.eclipse.core.runtime.IStatus
¿¡´Â Ãë¼Ò¸¦ Ç¥½ÃÇϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â
»õ·Î¿î ½É°¢µµ »ó¼öÀÎ IStatus.CANCEL
ÀÌ ÀÖ½À´Ï´Ù.
IStatus.OK
, INFO
, WARNING
¹× ERROR
·Î
Á¦ÇѵǴ °¡´ÉÇÑ ½É°¢µµ ¼¼Æ®¿¡ ÀÇÁ¸ÇÏ´Â IStatus.getSeverity()
È£ÃâÀÚ´Â
ÀÌ Ãß°¡ÀÇ ¿µÇâÀ» ¹Þ½À´Ï´Ù. getSeverity
È£ÃâÀÚ´Â
»õ ½É°¢µµ¸¦ Æ÷ÇÔÇϵµ·Ï Äڵ带 °»½ÅÇØ¾ß ÇÕ´Ï´Ù.
Eclipse 3.0¿¡¼, ÀÛ¾÷°ø°£ ÀÚµ¿ ºôµå´Â ÀÌÁ¦ ¹é±×¶ó¿îµå ½º·¹µå¿¡¼ ¹ß»ýÇÕ´Ï´Ù. ÀÌ´Â
org.eclipse.core.resources.IResourceChangeEvent
·ÎÀÇ API °è¾à º¯°æÀ» ¿ä±¸Çß½À´Ï´Ù.
IResourceChangeEvent
°è¾àÀº ÀÌÀü¿¡ ¸ðµç ÀÛ¾÷°ø°£ º¯°æ»çÇ׿¡ ´ëÇØ
´ÙÀ½ ¼ø¼ÀÇ À̺¥Æ®¸¦ º¸ÀåÇß½À´Ï´Ù.
PRE_DELETE
¶Ç´Â PRE_CLOSE
À̺¥Æ® ¾Ë¸²PRE_AUTO_BUILD
À̺¥Æ® ¾Ë¸²POST_AUTO_BUILD
À̺¥Æ® ¾Ë¸²POST_CHANGE
À̺¥Æ® ¾Ë¸²ÀÌÁ¦´Â ÀÚµ¿ ºôµå°¡ ¹è°æ¿¡¼ ½ÇÇàµÇ¹Ç·Î,
´õ ÀÌ»ó AUTO_BUILD
À̺¥Æ®¿Í POST_CHANGE
À̺¥Æ® »çÀÌÀÇ
Àӽà °ü°è¿¡ ´ëÇÑ º¸ÁõÀÌ ¾ø½À´Ï´Ù. Eclipse 3.0¿¡¼´Â, À§ÀÇ ±¸Á¶¿¡ ÀÖ´Â 3 - 5 ´Ü°è°¡
Á¶ÀÛ¿¡¼ Á¦°ÅµË´Ï´Ù. °á°ú ±×¸²Àº ´ÙÀ½°ú À¯»çÇÕ´Ï´Ù.
PRE_DELETE
¶Ç´Â PRE_CLOSE
À̺¥Æ® ¾Ë¸²POST_CHANGE
À̺¥Æ® ¾Ë¸²Á¤±âÀûÀ¸·Î, Ç÷§ÆûÀº ¹è°æ ÀÛ¾÷°ø°£ ºôµå Á¶ÀÛÀ» ¼öÇàÇÕ´Ï´Ù. ÀÌ´Â ÀÚµ¿ ºôµåÀÇ ¼³Á¤ ¶Ç´Â ÇØÁ¦ ¿©ºÎ¿¡ °ü°è¾øÀÌ ¹ß»ýÇÕ´Ï´Ù. ÀÌ ºôµå°¡ ¹ß»ýÇÏ´Â Á¤È®ÇÑ ½Ã°£Àº ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. ºôµå Á¶ÀÛ ±¸Á¶´Â ´ÙÀ½°ú À¯»çÇÏ°Ô µË´Ï´Ù.
PRE_BUILD
À̺¥Æ® ¾Ë¸²(PRE_BUILD
´Â
PRE_AUTO_BUILDÀÇ »õ À̸§ÀÓ)
POST_BUILD
À̺¥Æ® ¾Ë¸²(POST_BUILD
´Â
POST_AUTO_BUILDÀÇ »õ À̸§ÀÓ)
POST_CHANGE
À̺¥Æ® ¾Ë¸²ÀÚµ¿ ºôµå ¸®½º³Ê°¡ ¼ö½ÅÇÑ µ¨Å¸¿¡ ´ëÇÑ ÂüÁ¶Á¡Àº º¯°æ ÈÄ ¸®½º³Ê¿Í ´Ù¸£°Ô µË´Ï´Ù. ºôµå ¸®½º³Ê´Â ¸¶Áö¸· ºôµå Á¶ÀÛ ³¡ ÀÌÈÄÀÇ ¸ðµç º¯°æ»çÇ× ¾Ë¸²À» ¼ö½ÅÇÕ´Ï´Ù. º¯°æ ÈÄ ¸®½º³Ê´Â ¸¶Áö¸· º¯°æ ÈÄ ¾Ë¸² ÀÌÈÄÀÇ ¸ðµç º¯°æ»çÇ×À» ¼³¸íÇÏ´Â µ¨Å¸¸¦ ¼ö½ÅÇÕ´Ï´Ù. ÀÌ »õ ±¸Á¶´Â Eclipse 1.0 ÀÌÈÄ·Î Àû¿ëµÇ¾ú´ø ÀÚ¿ø º¯°æ ¸®½º³ÊÀÇ ¼¼ °¡Áö Ư¼ºÀ» º¸À¯ÇÕ´Ï´Ù.
POST_CHANGE
¸®½º³Ê´Â µî·ÏÇØ ÀÖ´Â µ¿¾È ¹ß»ýÇÏ´Â ¸ðµç ÀÚ¿ø
º¯°æ»çÇ× ¾Ë¸²À» Àý´ëÀûÀ¸·Î ¼ö½ÅÇÕ´Ï´Ù. ¿©±â¿¡´Â
ºô´õ°¡ ¼öÇàÇÑ º¯°æ»çÇ×°ú ´Ù¸¥ ¸®½º³Ê°¡ ¼öÇàÇÑ º¯°æ»çÇ×ÀÌ Æ÷ÇԵ˴ϴÙ.PRE_AUTO_BUILD
¸®½º³Ê´Â ºô´õ¿Í ÀÚ¿ø º¯°æ ¸®½º³Ê°¡ ¼öÇàÇÑ
º¯°æ»çÇ×À» Á¦¿ÜÇÏ°í ¸ðµç ÀÚ¿ø º¯°æ»çÇ× ¾Ë¸²À» ¼ö½ÅÇÕ´Ï´Ù.POST_AUTO_BUILD
¸®½º³Ê´Â ´Ù¸¥ POST_AUTO_BUILD
¸®½º³Ê°¡ ¼öÇàÇÑ º¯°æ»çÇ×À» Á¦¿ÜÇÏ°í ¸ðµç ÀÚ¿ø º¯°æ»çÇ× ¾Ë¸²À» ¼ö½ÅÇÕ´Ï´Ù.±×·¯³ª ÀÌ Á¢±Ù ¹æ½Ä¿¡´Â Áß¿äÇÑ Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. Eclipse 3.0 ÀÌÀü¿¡´Â,
ÀÚµ¿ ºôµå ¸®½º³Ê°¡ Ç×»ó POST_CHANGE
¸®½º³Ê ÀÌÀü¿¡ È£ÃâµÇ¾ú½À´Ï´Ù.
ÀÌ·¯ÇÑ ÀÌÀ¯·Î, ÀÚµ¿ ºôµå ¸®½º³Ê°¡ ¼ö½ÅÇÑ µ¨Å¸´Â Ç×»ó
POST_CHANGE
¸®½º³Ê°¡ ¼ö½ÅÇÑ µ¨Å¸ÀÇ ¼ºê¼¼Æ®¿´½À´Ï´Ù.
ÀÌ °ü°è´Â ÀÌÁ¦ º»ÁúÀûÀ¸·Î ¹Ý´ë·Î µÇ¾ú½À´Ï´Ù. ÀÚµ¿ ºôµå ¸®½º³Ê´Â
¸¶Áö¸· ¹è°æ ºôµå ³¡ ÀÌÈÄ·Î POST_CHANGE
¸®½º³Ê¿¡ Á¦°øµÈ ¸ðµç µ¨Å¸ÀÇ »óÀ§ ¼¼Æ®ÀÎ µ¨Å¸¸¦ ¼ö½ÅÇÕ´Ï´Ù. ÀÌÀü°ú °°ÀÌ, ÀÚµ¿ ºôµå ¸®½º³Ê´Â
ÀÛ¾÷ °ø°£À» ¼öÁ¤ÇÒ ¼ö ÀÖÁö¸¸ º¯°æ ÈÄ ¸®½º³Ê´Â ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÛ¾÷°ø°£ º¯°æ Á¶ÀÛ ¿Ï·á ½Ã AUTO_BUILD
À̺¥Æ® ¸®½º³Ê¿¡°Ô
¾Ë¸®´Â °ÍÀº ÀÌÁ¦ ´õ ÀÌ»ó »ç½ÇÀÌ ¾Æ´Õ´Ï´Ù.
IWorkspace.addResourceChangeListener(IResourceChangeListener)
·Î
ÀÚ¿ø º¯°æ ¸®½º³Ê¸¦ µî·ÏÇϴ Ŭ¶óÀÌ¾ðÆ® ÄÚµå´Â AUTO_BUILD
À̺¥Æ®°¡ ÀÌ ¸®½º³Ê¿¡ º¸°íµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ÀÌ º¯°æÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ±×·¯³ª
IWorkspace.addResourceChangeListener(IResourceChangeListener,int)
¸¦ »ç¿ëÇϰí
AUTO_BUILD
À̺¥Æ®¸¦ Æ÷ÇÔÇÏ´Â À̺¥Æ® ¸¶½ºÅ©¸¦ ÁöÁ¤Çϴ Ŭ¶óÀÌ¾ðÆ®´Â
ÀÚµ¿ ºôµå ¸®½º³Ê°¡ ½ÇÇàµÇ´Â ½Ã±â³ª ½ÇÇàµÇ´Â ½º·¹µå¿¡ °üÇÑ »çÇ×À» °¡Á¤ÇÒ °æ¿ì ÀÌ º¯°æÀ¸·Î
Áß´ÜµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÚµ¿ ºôµå ¸®½º³Ê°¡ ÀÛ¾÷°ø°£¿¡ º¯°æ»çÇ×À» ¹Ý¿µÇϱâ À§ÇØ
µµ¸ÞÀÎ ¸ðµ¨À» °»½ÅÇÏ´Â °æ¿ì, ÀÌ °»½ÅÀº ÀÛ¾÷°ø°£ º¯°æ Á¶ÀÛÀÌ ¸®ÅÏÇÒ ¶§
¹ß»ýÇÏÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ½Ä¿¡¼´Â UI ·¹º§ Äڵ常 ¿µÇâÀ» ¹ÞÀ» ¼ö ÀÖÀ¸¹Ç·Î
°¡Ä¡°¡ ¾ø½À´Ï´Ù. API¸¦ ÅëÇØ È£ÃâµÇ´Â ÄÚ¾î ·¹º§ ÄÚµå´Â
IWorkspaceRunnable
¹üÀ§ ³»¿¡¼ È£ÃâÇÒ ¼ö ÀÖÀ¸¹Ç·Î,
ÀÚ¿ø º¯°æ ¸®½º³Ê¸¦ È£ÃâÇÒ ½Ã±â¿¡ ´ëÇØ È®½ÅÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ Áß´Ü¿¡ ´ëÇØ Á¦¾ÈµÇ´Â
¼öÁ¤»çÇ×Àº Á¶ÀÛ ¿Ï·á ÀÌÀü¿¡ ¾Ë¸²ÀÌ ¹ß»ýµÇ¾î¾ß ÇÒ °æ¿ì ºôµå ¸®½º³Ê ´ë½Å
POST_CHANGE
¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.
´õ ÀÌ»ó IWorkspaceRunnable
ÀÇ µ¿Àû ¹üÀ§¿¡¼ ¹ß»ýÇÏ´Â ¸ðµç ÀÚ¿ø º¯°æ»çÇ×ÀÌ
´ÜÀÏ ¾Ë¸²À¸·Î Àϰýó¸®µÈ´Ù°í º¸ÁõÇÏÁö ¸øÇÕ´Ï´Ù. ÀÌ ¸ÞÄ¿´ÏÁòÀº ºÒÇÊ¿äÇÑ ºôµå ¹× ¾Ë¸²À»
ÇÇÇϱâ À§ÇØ °è¼Ó Àϰýó¸® º¯°æ»çÇ׿¡ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ Ç÷§ÆûÀº ÀÌÁ¦
Á¶ÀÛ µ¿¾È ¾Ë¸²À» ¼öÇàÇÒ °ÍÀ» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ API °è¾à ¹üÀ§´Â
±âÁ¸ Ŭ¶óÀÌ¾ðÆ®¿¡ ´ëÇÑ Áß´Ü º¯°æÀÌ µÇÁö ¾Ê½À´Ï´Ù. Àå±â ½ÇÇà Á¶ÀÛ µ¿¾È
Á¤±âÀûÀ¸·Î IWorkspace.checkpoint
¸¦ È£ÃâÇÒ °ÍÀ» °áÁ¤ÇÏ´Â Ç÷§Æû°ú
°°½À´Ï´Ù. ÀÌ º¯°æÀÇ ÀÌÀ¯´Â ÀÌÁ¦ ¿©·¯ ½º·¹µå¿¡ ´ëÇØ µ¿½Ã¿¡ ÀÛ¾÷°ø°£À»
¼öÁ¤ÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÇϳªÀÇ ½º·¹µå°¡ ÀÛ¾÷°ø°£ ¼öÁ¤À» ¿Ï·áÇÒ °æ¿ì
´Ù¸¥ Á¶ÀÛÀÌ ¾ÆÁ÷ ¿Ï·áµÇÁö ¾ÊÀº °æ¿ì¿¡µµ ÀÀ´ä¼º ¹®Á¦Á¡À» ¹æÁöÇϱâ À§ÇØ
¾Ë·Á¾ß ÇÕ´Ï´Ù. ÀÌ º¯°æÀ¸·Î »ç¿ëÀÚ´Â Á¶ÀÛÀ» ¿Ï·áÇϱâ Àü¿¡
ÀÚ¿ø ¼¼Æ®¿¡ ´ëÇÑ ÀÛ¾÷À» ½ÃÀÛÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î, »ç¿ëÀÚ´Â ÀÌÁ¦ °è¼Ó üũ¾Æ¿ô ó¸® ÁßÀÎ ÇÁ·ÎÁ§Æ®¿¡¼
ÆÄÀÏ Ã£¾Æº¸±â¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ ¸Þ¼Òµå IWorkspace.run(IWorkspaceRunnable,
ISchedulingRule, int, IProgressMonitor)
¿¡´Â ¼±ÅÃÀû Ç÷¡±× AVOID_UPDATE
°¡ ÀÖ½À´Ï´Ù.
ÀÌ Ç÷¡±×´Â Á¤±âÀû °»½ÅÀ» ¿øÇÏ´ÂÁö ÁöÁ¤Çϱâ À§ÇØ Á¶ÀÛÀÌ Ç÷§Æû¿¡ ´ëÇÑ ÈùÆ®·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: org.eclipse.core.runtime.urlHandlers
È®ÀåÁ¡¿¡ È®ÀåÀ» Á¦°øÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: org.eclipse.core.runtime.urlHandlers
È®ÀåÁ¡¿¡ ´ëÇÑ °è¾àÀÌ OSGi°¡ Á¦°øÇÏ´Â URL ½ºÆ®¸² Çڵ鷯 ¼ºñ½º¸¦ »ç¿ëÇϵµ·Ï
º¯°æµÇ¾ú½À´Ï´Ù. OSGi Áö¿øÀº Eclipse 2.1¿¡¼ÀÇ Áö¿øº¸´Ù ³´°í µ¿Àû Çڵ鷯¸¦ ¿Ã¹Ù¸£°Ô
ó¸®ÇÕ´Ï´Ù. ±âº» Java URL Çڵ鷯 ¸ÞÄ¿´ÏÁò¿¡ ´ëÇØ ´Ù¾çÇÑ ¼³°è ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î,
OSGi Çڵ鷯 ¼ºñ½º¿¡ ´ëÇØ µî·ÏµÈ URLStreamHandlers´Â
org.osgi.service.url.URLStreamHandlerService
¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÀÌÀü¿¡´Â Çڵ鷯 Ŭ·¡½º°¡
java.net.URLStreamHandler
¸¦ ±¸ÇöÇϰí urlHandlers
È®ÀåÁ¡À» È®ÀåÇØ¾ß Çß½À´Ï´Ù. È®ÀåÁ¡Àº ´õ ÀÌ»ó Áö¿øµÇÁö ¾ÊÀ¸¸ç Çڵ鷯´Â
org.osgi.service.url.URLStreamHandlerService
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϵµ·Ï
°»½ÅÇØ¾ß ÇÕ´Ï´Ù. OSGi ÇÁ·¹ÀÓ¿öÅ©´Â ÀÌ ¿ªÇÒÀ» ä¿ì±â À§ÇØ »ç¼ÒÇÏ°Ô ¼ºêŬ·¡½ºÈÇÒ ¼ö ÀÖ´Â
Ãß»ó ±âº» Ŭ·¡½º(org.osgi.service.url.AbstractURLStreamHandlerService
)¸¦ Á¦°øÇÕ´Ï´Ù.
È®ÀåÁ¡À» »ç¿ëÇÏ¿© Çڵ鷯¸¦ µî·ÏÇÏ´Â ´ë½Å Ç÷¯±×ÀÎÀº ÀÌÁ¦ ¼ºñ½º·Î Çڵ鷯¸¦ µî·ÏÇÏ¿© À̸¦ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
Hashtable properties = new Hashtable(1); properties.put(URLConstants.URL_HANDLER_PROTOCOL, new String[] {MyHandler.PROTOCOL}); String serviceClass = URLStreamHandlerService.class.getName(); context.registerService(serviceClass, new MyHandler(), properties);
¿µÇâÀ» ¹Þ´Â ´ë»ó: ´Ù¸¥ Ç÷¯±×Àο¡¼µµ Á¦°øµÉ °æ¿ì ÆÐŰÁö¸¦ Á¦°øÇÏ´Â Ç÷¯±×ÀÎ. ¾ÆÁÖ Á¦ÇÑµÈ ¸î °³ÀÇ Ç÷¯±×ÀÎÀÌ ÀÌ º¯°æÀÇ ¿µÇâÀ» ¹ÞÀ¸¸ç ¿µÇâÀ» ¹Þ´Â Ç÷¯±×ÀÎ Áß ÀϺδ ½ÇÁ¦·Î À̵æÀ» ¾ò½À´Ï´Ù(¾Æ·¡ ÂüÁ¶).
¼³¸í: Eclipse 2.x¿¡¼, Ŭ·¡½º ·Î´õ´Â (1) »óÀ§ Ŭ·¡½º ·Î´õ(»ç·Ê¿¡¼ Java ½Ãµ¿ Ŭ·¡½º ·Î´õ), (2) ÇØ´çµÇ´Â °íÀ¯ Ŭ·¡½º °æ·Î ÄÁÅÙÃ÷, ¸¶Áö¸·À¸·Î (3) ¼±¾ðµÈ ¼ø¼¿¡ ÀÖ´Â ÇØ´çµÇ´Â ¸ðµç ÀüÁ¦Á¶°Ç ¼ø¼·Î Ŭ·¡½º¸¦ °Ë»öÇÕ´Ï´Ù. OSGi´Â ÀÌ ¸ðµ¨¿¡ ´ëÇÑ ÃÖÀûÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ Á¢±Ù ¹æ½Ä¿¡¼ Ŭ·¡½º ·Î´õ´Â (1) »óÀ§ Ŭ·¡½º ·Î´õ(È¿À²ÀûÀ¸·Î´Â Java ½Ãµ¿ Ŭ·¡½º ·Î´õ), (2a) Á¶È¸ÇÏ´Â ÆÐŰÁö¿¡¼ Ŭ·¡½º¸¦ Á¦°øÇϱâ À§ÇÑ ¾Ë·ÁÁø ´ÜÀÏ ÀüÁ¦Á¶°ÇÀ̳ª (2b) ¿øÇϴ Ŭ·¡½º¿¡ ´ëÇÑ °íÀ¯ Ŭ·¡½º °æ·Î Ç׸ñÀ» ¼ø¼´ë·Î ã½À´Ï´Ù.
Ŭ·¡½º ·Î´õ´Â ÀÚü¸¦ º¼ °ÍÀÎÁö °¡Á®¿Â ÆÐŰÁö¿Í Çʼö ÆÐŰÁö¸¦ ±âÃÊ·Î ÇØ´çµÇ´Â ÀüÁ¦Á¶°ÇÀ» ãÀ» °ÍÀÎÁö ÆÇº°ÇÕ´Ï´Ù. ÀÌ Á¤º¸´Â ÀϹÝÀûÀÎ Ç÷¯±×ÀÎÀÇ ÄÉÀ̽º¿¡ ÀÖ´Â Ç÷¯±×ÀÎ ÄÁÅÙÃ÷¸¦ ÅëÇØ ÃßÃøÇÏ¸ç ¸í½ÃÀû OSGi ¹øµé Manifest¸¦ »ç¿ëÇÏ¿© Ç÷¯±×ÀÎÀÇ ÄÉÀ̽º¿¡ Á÷Á¢ ÁöÁ¤ÇÕ´Ï´Ù. ¾î´À ÄÉÀ̽ºµçÁö, ¾î´À Ŭ·¡½º ·Î´õ°¡ ¾î´À ÆÐŰÁö¿¡ ´ëÇÑ Å¬·¡½º¸¦ Á¦°øÇÒ °ÍÀÎÁö ÃßÃøÇÏ¿© ¾Ë·ÁÁý´Ï´Ù. ÀÌ´Â ¼º´É °³¼±°ú µ¿ÀÏ Å¬·¡½º¸¦ Á¦°øÇÏ´Â ¿©·¯ ÀüÁ¦Á¶°ÇµéÀÇ ³Ã³ÇÑ ¹®Á¦Á¡¿¡ ´ëÇÑ ¼Ö·ç¼ÇÀ» Á¦°øÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, µÑ ´Ù org.xml ÆÐŰÁöÀÇ ´Ù¾çÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏ´Â Xerces ¹× Xalan ÄÉÀ̽º¸¦ »ý°¢ÇØ º¸½Ê½Ã¿À. ù ¹øÂ° Á¢±Ù ¹æ½ÄÀ» »ç¿ëÇÒ °æ¿ì Xerces Ç÷¯±×ÀÎÀº ÇØ´ç Ŭ·¡½ºÀÇ »çº»À» ã´Â ¹Ý¸é Xalan Ç÷¯±×ÀÎÀº ÇØ´çµÇ´Â »çº»À» ã½À´Ï´Ù. ÀÌ Ç÷¯±×ÀÎÀº Åë½ÅÇØ¾ß ÇϹǷΠClassCastExceptions°¡ ¹ß»ýÇÕ´Ï´Ù. µÎ ¹øÂ° Á¢±Ù ¹æ½ÄÀ» »ç¿ëÇÒ °æ¿ì, µÎ °³ÀÇ Ç÷¯±×ÀÎ Áß Çϳª¸¸ Áߺ¹ Ŭ·¡½º¸¦ Á¦°øÇÏ°í µÎ Ç÷¯±×ÀÎ ¸ðµÎ´Â µ¿ÀÏ »çº»À» ã½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÇÊ¿äÇÑ Á¶Ä¡´Â À¯½º ÄÉÀ̽ºÀÇ Æ¯¼ö¼º¿¡ ´Þ·Á ÀÖ½À´Ï´Ù. ¿µÇâÀ» ¹Þ´Â °³¹ßÀڴ Ŭ·¡½º °æ·Î¸¦ °ËÅäÇÏ°í ¹ß»ýÇÒ ¼ö ÀÖ´Â Ãæµ¹À» ÇØ°áÇØ¾ß ÇÕ´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: Ç×»ó Ŭ·¡½º ·ÎµåÀÇ º¸È£ µµ¸ÞÀÎÀÌ ¼³Á¤µÉ °ÍÀ¸·Î ¿¹»óÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: Eclipse 2.1¿¡¼ Ç÷¯±×ÀΠŬ·¡½º ·Î´õ´Â java.security.SecureClassloaders¿´À¸¸ç Ç×»ó º¸È£ µµ¸ÞÀÎÀÌ ¼³Á¤µÇ¾î ÀÖ¾ú½À´Ï´Ù. Eclipse 3.0¿¡¼´Â Ŭ·¡½º ·Î´õ°¡ SecureClassloader¸¦ È®ÀåÇÏÁö ¾ÊÀ¸¹Ç·Î Java º¸¾ÈÀÌ ¼³Á¤µÈ °æ¿ì(º¸ÅëÀÇ °æ¿ì°¡ ¾Æ´Ô)¿¡¸¸ º¸È£ µµ¸ÞÀÎÀ» ¼³Á¤ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÇÊ¿äÇÑ Á¶Ä¡´Â Ç÷¯±×ÀÎÀÌ º¸È£ µµ¸ÞÀÎÀ» »ç¿ëÇÏ´Â ½Ã³ª¸®¿À¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: org.eclipse.core.runtime.IPlugin* À¯Çü ¿ÀºêÁ§Æ®¸¦ org.eclipse.core.runtime.model.Plugin*Model·Î ij½ºÆÃÇÏ´Â Ç÷¯±×ÀÎ. ÀÌ ÀÎÅÍÆäÀ̽º¿Í ¸ðµ¨ Ŭ·¡½º »çÀÌÀÇ °ü°è°¡ Eclipse 2.1 API¿¡ ÁöÁ¤µÇÁö ¾Ê¾Æµµ, 2.1 ±¸Çö¿¡¼ ÀÌ °ü°è¿¡ µû¶ó Ç÷¯±×ÀÎ ÀνºÅϽº¸¦ ¹ß°ßÇßÀ¸¹Ç·Î ÀÌ º¯°æÀ» ¸í½ÃÀûÀ¸·Î È£ÃâÇÕ´Ï´Ù.
¼³¸í: Eclipse API´Â Ç÷¯±×ÀÎ ¹× Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¿¡ °ü·ÃµÇ´Â
ÀÏ·ÃÀÇ ÀÎÅÍÆäÀ̽º(¿¹: IPluginDescriptor
)¿Í
¼ÒÀ§ "¸ðµ¨" Ŭ·¡½º(¿¹: PluginDescriptorModel
)¸¦ Á¦°øÇÕ´Ï´Ù.
Eclipse 2.1 ±¸Çö¿¡¼´Â ¸ðµ¨ Ŭ·¡½º°¡ °ü·Ã ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. »õ·Î¿î
OSGi ±â¹Ý ·±Å¸ÀÓ¿¡¼, Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®´Â Ç÷¯±×ÀÎÀÇ Å¬·¡½º ·Îµù ¹× ÀüÁ¦Á¶°Ç Ãø¸é°ú
È®Àå ¹× È®ÀåÁ¡ Ãø¸é »çÀÌÀÇ ±¸ºÐÀ» Çã¿ëÇϱâ À§ÇØ »ó´çºÎºÐ °³Á¤µÇ¾ú½À´Ï´Ù.
ÀÌ¿Í °°ÀÌ Eclipse 3.0 ·±Å¸ÀÓÀº 2.1¿¡ ÀÖ´Â ±¸Çö °ü°è¸¦ À¯ÁöÇÒ ¼ö ¾ø½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ºñAPI °ü°è¿¡ ÀÇÁ¸ÇÏ´Â Ç÷¯±×ÀÎÀº À¯½º ÄÉÀ̽º¿¡ µû¶ó Äڵ带 °³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ÀÌ ¹®¼ÀÇ ±ÇÀå º¯°æ»çÇ× ¼½¼Ç°ú °ü·ÃµÈ Ŭ·¡½º ¹× ¸Þ¼ÒµåÀÇ Javadoc¿¡ Á¦°øµÇ¾î ÀÖ½À´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: org.eclipse.core.runtime.ILibrary
¸¦ »ç¿ëÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: »õ ·±Å¸ÀÓÀº Eclipse¿Í ´Ù¸£°í ȣȯ ºÒ°¡´ÉÇÑ ¾ç½ÄÀ¸·Î Ŭ·¡½º °æ·Î Ç׸ñÀ» À¯Áöº¸¼öÇÕ´Ï´Ù. °á°úÀûÀ¸·Î, ȣȯ¼º °èÃþÀº ILibrary ¿ÀºêÁ§Æ®Ã³·³ ±âº»ÀûÀÎ OSGi ±¸Á¶¸¦ ¿Ã¹Ù¸£°Ô ¸ðµ¨¸µÇÒ ¼ö ¾ø½À´Ï´Ù. ·±Å¸ÀÓÀÇ È£È¯¼º Áö¿øÀº ILibrary ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏÁö¸¸ ¶óÀ̺귯¸®ÀÇ °æ·Î¸¦ Á¦¿ÜÇÏ°í ¸ðµç °Í¿¡ ´ëÇØ ±âº»°ªÀ» °¡Á¤ÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ILibraryÀÇ »ç¿ëÀÚ´Â ÀûÀýÇÑ ¹øµé(Bundle.getHeaders()
ÂüÁ¶)¿¡¼ ¿øÇÏ´Â Çì´õ °ª(¿¹: Bundle-Classpath
)¿¡ ¾×¼¼½ºÇϰí
ManifestElement
ÇïÆÛ Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© Ç׸ñÀ» ÇØ¼®ÇÒ °ÍÀ»
°í·ÁÇØ¾ß ÇÕ´Ï´Ù. ¼¼ºÎ»çÇ×Àº Ŭ·¡½º Javadoc¸¦ ÂüÁ¶ÇϽʽÿÀ.
¿µÇâÀ» ¹Þ´Â ´ë»ó: ¼³Ä¡ ±¸Á¶, À§Ä¡ ¹× ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ ·¹À̾ƿô¿¡ °üÇÑ »çÇ×À» °¡Á¤ÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: IPluginDescriptor.getInstallURL()
°ú °°Àº ¸Þ¼Òµå´Â
ƯÁ¤ ¾ç½ÄÀÇ URLÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾ç½ÄÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ½¿¡µµ ºÒ±¸Çϰí, ´Ù¾çÇÑ Ç÷¯±×ÀÎÀÌ
ÇöÀç ±¸ÇöÀ» ±âÃÊ·Î °¡Á¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Ç÷¯±×ÀÎÀº
file:
URLÀ» °¡Á®¿À°í URL.getFile()À» »ç¿ëÇÏ¸ç °á°ú¿¡ ´ëÇØ java.io.File
Á¶ÀÛÀ» »ç¿ëÇÒ °ÍÀ» ¿¹»óÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç±îÁö´Â ¿¬±¸ °¡´ÉÇÑ ¹æ½ÄÀ̾úÁö¸¸ ¿ÀÈ÷·Á
ºó¾àÇÑ Á¢±Ù ¹æ½ÄÀ̾ú½À´Ï´Ù. ¿¹¸¦ µé¾î, Ç÷¯±×ÀÎÀÌ À¥ ¼¹ö¿¡ ¼³Ä¡µÈ °æ¿ì
http:
URLÀ» ¸®ÅÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ Eclipse 3.0 ·±Å¸ÀÓÀº
´õ À¯¿¬ÇÏ¸é¼ ½ÇÇà ±¸¼º¿¡ ´ëÇØ ´õ ¸¹Àº °¡´É¼ºÀ» °³¹æÇÕ´Ï´Ù(¿¹: µð·ºÅ丮¿¡¼ Ž»öÇϱ⠺¸´Ù´Â JAR¿¡¼ Àüü Ç÷¯±×ÀÎÀ» À¯Áöº¸¼öÇÕ´Ï´Ù).
Áï, »õ OSGi ±â¹Ý ·±Å¸ÀÓÀº ½ÇÁ¦·Î 2.1 API¸¦ Áß´ÜÇÏÁö ¾Ê´Â ¹Ý¸é
ÇöÀç Ç÷¯±×Àο¡¼ÀÇ °¡Á¤»çÇ×ÀÌ ¿Ã¹Ù¸£Áö ¾Ê´Â ´õ ¸¹Àº ÄÉÀ̽º¸¦ ³ëÃâÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: Ç÷¯±×ÀÎ ÀÛ¼ºÀÚ´Â ¾×¼¼½ºÇØ¾ß ÇÏ´Â Á¤º¸°¡
getResource()
¸¦ ÅëÇØ »ç¿ë °¡´ÉÇϰí Ŭ·¡½º °æ·Î¿¡ ÀÖ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
±×·¸Áö ¾ÊÀ¸¸é °ü·Ã API¸¦ »ç¿ëÇÏ¿© Ç÷¯±×ÀÎ ÄÁÅÙÃ÷¿¡ ¾×¼¼½ºÇØ¾ß ÇÕ´Ï´Ù(¿¹:
Bundle.getEntry(String)
).
¿µÇâÀ» ¹Þ´Â ´ë»ó: org.eclipse.core.boot.BootLoader
Ŭ·¡½º¿¡¼
ƯÁ¤ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ºñÇ÷¯±×ÀÎ ÄÚµå.
¼³¸í: Á¤Àû ¸Þ¼ÒµåÀÎ BootLoader.startup(), shutdown() ¹× run()Àº OSGi ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÀϺÎÀÎ org.eclipse.core.runtime.adaptor.EclipseStarter·Î À̵¿µÇ¾ú½À´Ï´Ù. ÀÌ API´Â startup.jarÀÇ main()°ú OSGi ÇÁ·¹ÀÓ¿öÅ©/Eclipse ·±Å¸ÀÓ »çÀÌÀÇ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ·±Å¸ÀÓ ±¸Á¶ º¯°æ¿¡¼´Â ÀÌ ¸Þ¼ÒµåµéÀ» BootLoader¿¡¼ À¯ÁöÇÏ´Â °ÍÀÌ Çã¿ëµÇÁö ¾Ê¾Ò½À´Ï´Ù. ÀÌÀü BootLoader Ŭ·¡½º´Â ÀÌÁ¦ ·±Å¸ÀÓ È£È¯¼º °èÃþ¿¡ À§Ä¡µÇ¾î Æó±âµÇ¾úÀ¸¸ç À̵¿µÈ ¸Þ¼Òµå´Â ¾î¶² °Íµµ ¼öÇàÇÏÁö ¾Êµµ·Ï ½ºÅӵǾî ÀÖ½À´Ï´Ù.
·±Å¸ÀÓÀº ´õ ÀÌ»ó °³ÀÎ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ È®º¸¸¦ Áö¿øÇÒ ¼ö ¾øÀ¸¹Ç·Î ÀÌÀü BootLoader.getRunnable()¿¡ ´ëÇÑ ´ëü°¡ ¾ø½À´Ï´Ù. ¿ÀÈ÷·Á, »ç¿ëÀÚ°¡ Ç÷§ÆûÀ» ½ÃÀÛÇÒ ¶§ °ü½ÉÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥À» Ç¥½ÃÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÀϹÝÀûÀ¸·Î ÀÌ API´Â ¾ÆÁÖ ¼Ò¼öÀÇ »ç¿ëÀÚ¸¸ »ç¿ëÇÕ´Ï´Ù(Eclipse Ç÷¯±×ÀÎ ³»¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù). µå¹°±â´Â ÇÏÁö¸¸ EclipseStarter¿¡¼ ÇØ´ç ¸Þ¼Òµå¸¦ »ç¿ëÇÏ·Á¸é Äڵ带 äÅÃÇØ¾ß ÇÕ´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: ¸ðµç Ç÷¯±×ÀÎ.
¼³¸í: Eclipse 2.1¿¡¼´Â Ç÷¯±×ÀÎ build.propertiesÀÇ bin.includes Çà¿¡ plugin.xml ÆÄÀÏ¿¡ ÀÖ´Â ¶óÀ̺귯¸® ¼±¾ðÀÇ JAR ¸ñ·ÏÀ» Æ÷ÇÔÇÒ Çʿ䰡 ¾ø¾ú½À´Ï´Ù. ÀÌ JARÀº ÀÚÀ¯·Ó°Ô Ãß°¡µÇ¾ú½À´Ï´Ù. Eclipse 3.0¿¡¼´Â build.propertiesÀÇ bin.includes ¼½¼Ç¿¡ ÀÖ´Â ÆÄÀÏ ¸ñ·ÏÀÌ Ã¶ÀúÇÑ ¸ñ·ÏÀ̹ǷΠÇ÷¯±×ÀÎ °³¹ßÀÚ°¡ ºôµåÇϰųª ³»º¸³¾ ¶§ Ç÷¯±×Àο¡ Æ÷ÇÔ½ÃŰ·Á´Â ¸ðµç ÆÄÀÏÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: build.properties ÆÄÀÏÀÇ bin.includes Çà¿¡ »ç¿ëÀÚ plugin.xml ÆÄÀÏ¿¡ ³ª¿µÈ ¸ðµç JARÀÌ Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
¿µÇâÀ» ¹Þ´Â ´ë»ó: º¯°æµÈ ·±Å¸ÀÓ APIÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â API¸¦ ³ëÃâÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: ´Ù¾çÇÑ Ç÷¯±×ÀÎÀÌ ·±Å¸ÀÓ APIÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â API¸¦ ³ëÃâÇÕ´Ï´Ù. ¿©±â¿¡ ¿ä¾àµÈ Eclipse 3.0 ·±Å¸ÀÓ º¯°æ»çÇ׿¡ µû¶ó, Ŭ¶óÀÌ¾ðÆ® Ç÷¯±×ÀÎÀº API¿¡¼ÀÇ ·±Å¸ÀÓ API »ç¿ëÀ» ´Ù½Ã Æò°¡ÇØ¾ß ÇÕ´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÀÌ ½Ã³ª¸®¿À´Â Eclipse ·±Å¸ÀÓ API°¡ ¾ÆÁÖ ¾à°£¸¸ º¯°æµÇ¹Ç·Î ²Ï µå¹® ½Ã³ª¸®¿ÀÀÔ´Ï´Ù. ½Ã³ª¸®¿À¿¡ µû¶ó Ŭ¶óÀÌ¾ðÆ®´Â API¸¦ º¯°æÇϰųª °è¼Ó ȣȯ¼º °èÃþ¿¡ ÀÇÁ¸ÇØ¾ß ÇÕ´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: org.eclipse.core.runtime.Platform.parsePlugins(...,
Factory)¸¦ »ç¿ëÇÏ´Â Ç÷¯±×ÀÎ.
¼³¸í: org.eclipse.core.runtime.Platform.parsePlugins(...,
Factory)
¸Þ¼Òµå°¡ À̵¿µÇ¾ú½À´Ï´Ù. ÆÑÅ丮 Àμö¿Í ¿¬°üµÇ´Â API´Â
org.eclipse.core.runtime Ç÷¯±×Àο¡¼ org.eclipse.core.runtime.compatibility Ç÷¯±×ÀÎ(·±Å¸ÀÓ
Ç÷¯±×Àο¡ ÀÇÁ¸ÇÏ´Â)À¸·Î À̵¿µÇ¾ú½À´Ï´Ù. °á±¹, ±¸¹® ºÐ¼® ¸Þ¼Òµåµµ À̵¿µÇ¾ú½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÀÌ ¸Þ¼ÒµåÀÇ »ç¿ëÀÚ´Â org.eclipse.core.runtime.model.PluginRegistryModel
Ŭ·¡½º¿¡¼ µ¿ÀÏ ¸Þ¼Òµå¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: Ŭ·¡½º °æ·Î¿¡ Äڵ带 ÁöÁ¤ÇÏÁö¸¸ ÇØ´ç Äڵ带 Á¦°øÇÏÁö´Â ¾Ê´Â Ç÷¯±×ÀÎ(Áï, JARÀÌ ÇϳªÀÇ ´ÜÆíÀ¸·Î Á¦°øµË´Ï´Ù. ¿¹: org.eclipse.swt Ç÷¯±×ÀÎ).
¼³¸í: »õ ·±Å¸ÀÓÀº »óȲ µÚ¿¡¼ plug.xml ÆÄÀÏÀ» manifest.mf ÆÄÀÏ·Î º¯È¯ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â Ç÷¯±×ÀÎÀÌ Á¦°øÇÏ´Â ³ª¿µÈ jarÀÇ Á÷Á¢ÀûÀÎ ±â°èÀû º¯È¯ ¹× ºÐ¼®À» ÅëÇØ ¼öÇàµË´Ï´Ù. Ç÷¯±×ÀÎÀÌ Å¬·¡½º °æ·Î¿¡ jarÀ» ÁöÁ¤ÇÏÁö¸¸ jarÀ» Á¦°øÇÏÁö´Â ¾Ê´Â °æ¿ì, ºÐ¼®ÇÒ Äڵ尡 ¾øÀ¸¹Ç·Î Ç÷¯±×ÀÎ º¯È¯±â´Â ¿Ã¹Ù¸¥ manifest.mf¸¦ »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: ÀÌ¿Í °°Àº Ç÷¯±×ÀÎÀÇ Á¦°øÀÚ´Â Ç÷¯±×ÀÎ ÀÚü¿¡¼ ÀûÀýÇÑ jarÀ» Á¦°øÇϰųª Ç÷¯±×Àο¡ ¸Â´Â META-INF/MANIFEST.MF ÆÄÀÏÀ» Á÷Á¢ ÀÛ¼º/À¯Áöº¸¼öÇϵµ·Ï º¯°æÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ´Â PDE¸¦ ÅëÇØ Ãʱâ Manifest¸¦ °¡Á®¿Â ÈÄ ÀûÀýÇÑ Provide-Package Çì´õ¿¡ Ãß°¡ÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿µÇâÀ» ¹Þ´Â ´ë»ó: ·±Å¸ÀÓ °ü·Ã jar ¹× Ŭ·¡½º µð·ºÅ丮¸¦ Æ÷ÇÔÇϴ Ŭ·¡½º °æ·Î¸¦ Á¤ÀÇÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).
¼³¸í: »õ ·±Å¸ÀÓ¿¡´Â ¿©·¯ °¡ÁöÀÇ »õ·Î¿î Ç÷¯±×Àΰú jarÀÌ ÀÖ½À´Ï´Ù.
ÀÌ Ç÷¯±×Àΰú jarÀº ·±Å¸ÀÓÀ» ±¸¼º °¡´É ºÎºÐµé·Î ¸®ÆÑÅ丵ÇÔ¿¡ µû¶ó ÁöÁ¤µÇ¾ú½À´Ï´Ù.
´ëºÎºÐÀÇ ·±Å¸ÀÓ »óȲ¿¡¼´Â ÀÌ º¯°æ»çÇ×ÀÌ ÆòÀÌÇÏÁö¸¸
ÇöÀç org.eclipse.core.runtime
¿¡ ´ëÇØ Äڵ带 ÄÄÆÄÀÏÇÏ´Â
»ç¿ëÀÚ Á¤ÀÇ build.xml(¶Ç´Â À¯»çÇÑ) ½ºÅ©¸³Æ®°¡ ÀÖ´Â °æ¿ì¿¡´Â
¸ÕÀú °»½ÅÇØ¾ß ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ ½ºÅ©¸³Æ®¿¡´Â ´ÙÀ½°ú °°ÀÌ
org.eclipse.core.runtime
Ç÷¯±×ÀÎÀ» ÂüÁ¶ÇÏ´Â <javac> Ÿ½ºÅ©¿¡
Ŭ·¡½º °æ·Î Ç׸ñÀÌ ÀÖ½À´Ï´Ù.
../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar
·±Å¸ÀÓ Ç÷¯±×ÀÎÀº °è¼ÓÇØ¼ ¿ø·¡ ·±Å¸ÀÓ ÄÚµå Áß ¸¹Àº °ÍÀ» Æ÷ÇÔÇÕ´Ï´Ù.
ȣȯ¼º Ç÷¯±×ÀÎ(org.eclipse.core.runtime.compatibility
)¿¡´Â ȣȯ¼º¸¸À» À§ÇÑ
¿©·¯ ·±Å¸ÀÓ ÆÄÆ®°¡ µé¾î ÀÖ½À´Ï´Ù.
´ëºÎºÐÀÇ »õ ·±Å¸ÀÓ ÄÚµå´Â Ç÷¯±×ÀÎ ÄÝ·º¼Ç(org.eclipse.osgi.*
)¿¡ Æ÷ÇԵ˴ϴÙ.
ÇÊ¿äÇÑ Á¶Ä¡: °³¹ßÀÚ´Â ÄÄÆÄÀÏ ¿À·ù¸¦ Á¦°ÅÇϱâ À§ÇØ ÇÊ¿äÇÑ ¸¸Å ¾Æ·¡ Ç׸ñÀ» Ãß°¡ÇØÇá ÇÕ´Ï´Ù. Á¦°øµÈ Àüü jar ¼¼Æ®°¡ ¾Æ·¡¿¡ ³ª¿µÇ¾î ÀÖÁö¸¸ ÀϹÝÀû »ç¿ë¿¡¼´Â ÄÄÆÄÀÏ ½Ã Ŭ·¡½º °æ·Î¿¡¼ ÇϳªÀÇ ¼ºê¼¼Æ®¸¸ ÇÊ¿äÇÕ´Ï´Ù. ÀϹÝÀûÀÎ °æ¿ìó·³ /bin µð·ºÅ丮 Æ÷ÇÔÀº ÀÓÀÇÀûÀÔ´Ï´Ù. Ç׸ñÀº Ç÷¯±×ÀÎÀ» Á¦°øÇÏ¿© ³í¸® ±×·ìÀ¸·Î Á¦°øµË´Ï´Ù.
¶ÇÇÑ ´ÙÀ½ jarÀÌ Æ¯¼öÇÑ °æ¿ì¿¡ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ¿Í °°Àº ½ºÅ©¸³Æ®¸¦ °»½ÅÇÏ´Â µ¿¾È, org.eclipse.core.boot
¿¡ ´ëÇÑ
ÂüÁ¶¸¦ Á¤¸®(Á¦°Å)ÇÒ ±âȸ¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ÀÌ Ç÷¯±×ÀÎÀº
Æó±âµÇ¾î ´õ ÀÌ»ó ¾î¶² Äڵ嵵 Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. Ç׸ñÀº Ŭ·¡½º °æ·Î¿¡
³²°Ü µÑ ¼ö ÀÖÁö¸¸ ¾î¶² ¸ñÀûµµ Á¦°øÇÏÁö ¾ÊÀ¸¹Ç·Î Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½ Á¦°Å¿¡ ÁÖÀÇÇϽʽÿÀ.
../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar
¿µÇâÀ» ¹Þ´Â ´ë»ó: eclipse.buildScript Ÿ½ºÅ©¸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).
¼³¸í: PDE ºôµå´Â Ç÷¯±×ÀÎ ºôµå ½ºÅ©¸³Æ® »ý¼ºÀ» Á¦¾îÇϱâ À§ÇØ eclipse.buildScript Ÿ½ºÅ©¿¡ »õ Ư¼ºÀ» µµÀÔÇß½À´Ï´Ù. ÀÌ´Â »õ·Î¿î OSGi ±â¹Ý ·±Å¸ÀÓ µµÀÔÀ¸·Î ÁöÁ¤µÇ¾ú½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: Eclipse 3.0À» »ç¿ëÇÏ¿© 2.1 ±â¹Ý Á¦Ç°À» ºôµåÇÏ·Á¸é eclipse.buildScript¿¡ Ư¼º "buildingOSGi"¸¦ µµÀÔÇÑ ÈÄ false·Î ¼³Á¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
<eclipse.buildScript ... buildingOSGi="false"/>
¿µÇâÀ» ¹Þ´Â ´ë»ó: eclipse.buildScript Ÿ½ºÅ©¸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).
¼³¸í: PDE ºôµå´Â Ç÷¯±×ÀÎ ºôµå ½ºÅ©¸³Æ® »ý¼ºÀ» Á¦¾îÇϱâ À§ÇØ eclipse.buildScript Ÿ½ºÅ©¿¡ »õ Ư¼ºÀ» µµÀÔÇß½À´Ï´Ù. ÀÌ´Â »õ·Î¿î OSGi ±â¹Ý ·±Å¸ÀÓ µµÀÔÀ¸·Î ÁöÁ¤µÇ¾ú½À´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: Eclipse 3.0À» »ç¿ëÇÏ¿© 2.1 ±â¹Ý Á¦Ç°À» ºôµåÇÏ·Á¸é eclipse.buildScript¿¡ Ư¼º "buildingOSGi"¸¦ µµÀÔÇÑ ÈÄ false·Î ¼³Á¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
<eclipse.buildScript ... buildingOSGi="false"/>
¿µÇâÀ» ¹Þ´Â ´ë»ó: eclipse.buildScript Ÿ½ºÅ©¸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).
¼³¸í: PDE ºôµå´Â ÀÚµ¿ÈµÈ ºôµå ½ºÅ¸ÀÏ¿¡¼ Eclipse¸¦ ½±°Ô ºôµåÇϱâ À§ÇØ eclipse.fetch Ÿ½ºÅ©ÀÇ µ¿ÀÛÀ» º¯°æÇß½À´Ï´Ù. ¿ä¼Ò ½ºÅ¸ÀÏÀº ÀÌÁ¦ ÇÑ ¹ø¿¡ ÇϳªÀÇ Ç׸ñ¸¸ Áö¿øÇϹǷΠscriptNameÀº Ç×»ó ¹«½ÃµË´Ï´Ù.
ÇÊ¿äÇÑ Á¶Ä¡: eclipse.fetch È£ÃâÀÇ "elements" ű׿¡ Ç׸ñ ¸ñ·ÏÀ» °¡Áö°í ÀÖÀ¸¸é eclipse.fetch¸¦ ¸î ¹ø¿¡ °ÉÃÄ È£ÃâÇϽʽÿÀ. scriptNameÀ» ¼³Ä¡Çϱâ À§ÇØ »ç¿ëÇÒ °æ¿ì¿¡´Â »ý¼ºµÇ´Â ÆäÄ¡ ½ºÅ©¸³Æ® À̸§ÀÌ Ç×»ó "fetch_{elementId}"¶ó´Â Á¡¿¡ À¯ÀÇÇϽʽÿÀ. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
<eclipse.fetch elements="plugin@org.eclipse.core.runtime, feature@org.eclipse.platform" .../>
À§ÀÇ URLÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
<eclipse.fetch elements="plugin@org.eclipse.core.runtime" .../> <eclipse.fetch elements="feature@org.eclipse.platform" .../>
install.ini ÆÄÀÏÀº ´õ ÀÌ»ó Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ±¸¼º ¼ºêµð·ºÅ丮¿¡ »õ·Î¿î config.ini ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. ±âº» ±â´ÉÀ» ÁöÁ¤Çϱâ À§ÇØ install.ini ÆÄÀÏÀ» »ç¿ëÇÑ Á¦Ç°(¿¹: ºê·£µù Á¤º¸¸¦ Á¦°øÇϱâ À§ÇÔ)Àº ´ë½Å config.ini ÆÄÀÏÀ» º¯°æÇØ¾ß ÇÕ´Ï´Ù. »õ ÆÄÀÏ À̸§ À̿ܿ¡ Ű À̸§µµ º¯°æµÇ¾ú½À´Ï´Ù.
2.1¿¡¼ feature.default.id ŰÀÇ °ªÀº »õ eclipse.product ŰÀÇ °ªÀ¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. eclipse.applicationÀÇ °ªÀº "org.eclipse.ui.ide.workbench"·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
¸¶Áö¸·À¸·Î, 2.1¿¡¼´Â ½ºÇ÷¡½Ã À̹ÌÁö¿¡ ´ëÇÑ À̹ÌÁö°¡ Ç×»ó ºê·£µù Ç÷¯±×ÀÎ µð·ºÅ丮¿¡ ÀÖ´Â splash.bmp¿´½À´Ï´Ù. 3.0¿¡¼´Â ½ºÇ÷¡½Ã À̹ÌÁöÀÇ À§Ä¡°¡ config.ini ÆÄÀÏ¿¡¼ osgi.splashPath Ű¿¡ ÀÇÇØ ¸í½ÃÀûÀ¸·Î Á¦°øµË´Ï´Ù.