Eclipse 2.1°ú 3.0 »çÀÌÀÇ ºñȣȯ¼º

Ç÷¯±×Àο¡ ¿µÇâÀ» ÁÖ¸ç 2.1°ú 3.0 »çÀÌ¿¡ ȣȯ ºÒ°¡´ÉÇÑ ¹æ¹ýÀ¸·Î Eclipse°¡ º¯°æµÇ¾ú½À´Ï´Ù. ´ÙÀ½ Ç׸ñ¿¡¼­´Â º¯°æµÈ ¿µ¿ª¿¡ ´ëÇØ ¼³¸íÇϰí 2.1 Ç÷¯±×ÀÎÀ» 3.0À¸·Î ÀÌÁÖÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Áö½Ã»çÇ×À» Á¦°øÇÕ´Ï´Ù. 3.0¿¡¼­ 2.1 Ç÷¯±×ÀÎÀ» ½ÇÇàÇÏ´Â Áß ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì ´ÙÀ½ »çÇ×À» »ìÆìº¸¸é µË´Ï´Ù.

  1. Ç÷¯±×ÀÎ manifest ¹öÀü
  2. Ç÷§Æû UI Ç÷¯±×ÀÎ À籸¼º
  3. Ç÷§Æû ÄÚ¾î ·±Å¸ÀÓ Ç÷¯±×ÀÎ À籸¼º
  4. Xerces Ç÷¯±×ÀÎ Á¦°Å
  5. Eclipse 3.0ÀÌ º¸´Ù µ¿½ÃÀûÀÓ
  6. IFiles¿¡¼­ ÆíÁý±â ¿­±â
  7. ÆíÁý±â À̵¿ ¸¶Ä¿
  8. ÆíÁý±â ½ÇÇà±â
  9. ÆíÁý±â ·¹Áö½ºÆ®¸®
  10. Workbench ¸¶Ä¿ µµ¿ò¸» ·¹Áö½ºÆ®¸®
  11. ¹®¼­ ÆíÁý±â ¹®¼­ Á¦°øÀÚ
  12. ¹®¼­ ÆíÁý±â
  13. Çìµå ¾ø´Â ¾î³ëÅ×ÀÌ¼Ç Áö¿ø
  14. ÄÜ¼Ö º¸±â
  15. Java Áß´ÜÁ¡ ¸®½º³Ê
  16. UI ½º·¹µåÀÇ Å¬¸³º¸µå ¾×¼¼½º
  17. Ű ¾Æ·¡ À̺¥Æ®
  18. »ç¿ëÀÚ Á¤ÀÇ Á¦¾îÀÇ ÅÇ ¼øÈ¸
  19. SWT Å×ÀÌºí ¹× Æ®¸® À§ÁöÆ®(widget)ÀÇ ¼±Åà À̺¥Æ® ¼ø¼­
  20. »óÅ ¿ÀºêÁ§Æ®ÀÇ »õ ½É°¢µµ ·¹º§
  21. ºôµå °ü·Ã ÀÚ¿ø º¯°æ ¾Ë¸²
  22. ÀÛ¾÷°ø°£ Á¶ÀÛ Áß Áß°£ ¾Ë¸²
  23. URL ½ºÆ®¸² Çڵ鷯 È®Àå
  24. Ŭ·¡½º ·Îµå ¼ø¼­
  25. Ŭ·¡½º ·Î´õ º¸È£ µµ¸ÞÀÎÀÌ ¼³Á¤µÇÁö ¾ÊÀ½
  26. PluginModel ¿ÀºêÁ§Æ® ij½ºÆÃ
  27. ILibrary ±¸Çö ºÒ¿ÏÀü
  28. URL ¾ç½Ä¿¡ °üÇÑ À¯È¿ÇÏÁö ¾ÊÀº °¡Á¤
  29. BootLoader ¸Þ¼Òµå À̵¿/»èÁ¦
  30. Ç÷¯±×ÀÎ ³»º¸³»±â¿¡ Ç÷¯±×ÀÎÀÇ JARÀÌ ÀÚµ¿ Æ÷ÇÔµÇÁö ¾ÊÀ½
  31. ·±Å¸ÀÓ API ´Ù½Ã ³»º¸³»±â
  32. Ç÷§ÆûÀÇ Ç÷¯±×ÀÎ ±¸¹® ºÐ¼® ¸Þ¼Òµå
  33. ´ÜÆíÀ¸·Î Á¦°øµÇ´Â Ç÷¯±×ÀÎ ¶óÀ̺귯¸®
  34. ºôµå ½ºÅ©¸³Æ® º¯°æ»çÇ×
  35. PDE ºôµå Ant Ÿ½ºÅ© º¯°æ»çÇ×
  36. eclipse.build Ant Ÿ½ºÅ© º¯°æ»çÇ×
  37. eclipse.fetch Ant Ÿ½ºÅ© º¯°æ»çÇ×
  38. install.ini ´ëü

1. Ç÷¯±×ÀÎ manifest ¹öÀü

Ç÷¯±×ÀÎ(Ç÷¯±×ÀÎ ´ÜÆí)ÀÇ 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¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¹æ¹ý¿¡ ¿µÇâÀ» ÁÖÁö¾Ê´Â ȣȯ ºÒ°¡´É¼º Áß ÇϳªÀÔ´Ï´Ù.

2. Ç÷§Æû UI Ç÷¯±×ÀÎ À籸¼º

±âº» Ç÷§Æû 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 ÀÌÀü Ç÷¯±×ÀÎÀ» ÀÚµ¿À¸·Î ¹ß°ßÇϰí(Ç÷¯±×ÀÎ manifest¿¡ ÀÌÀü¿¡ ¼³¸íµÈ <?eclipse version="3.0"?> ÇàÀÌ ¾øÀ½) ÀÌ È®ÀåÁ¡ ¹× Ç÷¯±×ÀÎ Á¾¼Ó¼º º¯°æ»çÇ׿¡ ´ëÇØ ÀÚµ¿À¸·Î º¸»óÇÕ´Ï´Ù.

±âÁ¸ È®ÀåÁ¡ 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"/> Æ÷ÇÔ) ´Ù¸¥ ¸ðµç Ç÷¯±×ÀÎÀº ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ¿µÇâÀ» ¹Þ´Â °æ¿ì Ç÷¯±×Àο¡ ÇÊ¿äÇÑ ¸ðµç API Ŭ·¡½º°¡ ¹üÀ§ ³»¿¡ ÀÖµµ·Ï <import> ¿ä¼Ò¸¦ º¯°æÇϰųª <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

3. Ç÷§Æû ÄÚ¾î ·±Å¸ÀÓ Ç÷¯±×ÀÎ À籸¼º

Eclipse 3.0 Ç÷§Æû ·±Å¸ÀÓÀº 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 ÀÌÀü Ç÷¯±×ÀÎÀ» ÀÚµ¿À¸·Î ¹ß°ßÇϰí(Ç÷¯±×ÀÎ manifest¿¡ <?eclipse version="3.0"?> ÇàÀÌ ¾øÀ½) Ç÷§Æû ·±Å¸ÀÓ¿¡ ´ëÇÑ ÀÌ º¯°æ»çÇ׿¡ ´ëÇØ ÀÚµ¿À¸·Î º¸»óÇÕ´Ï´Ù.

4. Xerces Ç÷¯±×ÀÎ Á¦°Å

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¸¦ º¯°æÇØ¾ß ÇÕ´Ï´Ù. ¿Ï·áµÇ¸é Ãß°¡ º¯°æ»çÇ× ¾øÀÌ Ç÷¯±×ÀÎ Äڵ尡 ÄÄÆÄÀÏµÇ°í ½ÇÇàµË´Ï´Ù.

Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼­ ½ÇÇàÇÒ ¶§ org.eclipse.xerces Ç÷¯±×Àο¡¼­ ¼³¸íµÈ Á¾¼Ó¼ºÀÌ ÀÖ´Â 2.1 2Áø Ç÷¯±×Àο¡´Â ÇʼöÁ¶°ÇÀÌ ´©¶ôµË´Ï´Ù. ±× °á°ú·Î Ç÷¯±×ÀÎÀÌ È°¼ºÈ­µÇÁö ¾Ê½À´Ï´Ù.

5. Eclipse 3.0ÀÌ º¸´Ù µ¿½ÃÀûÀÓ

Eclipse 3.0 ÀÌÀüÀÇ °æ¿ì Eclipse°¡ ´ëºÎºÐ ´ÜÀÏ ½º·¹µå¿¡¼­ ÀÛµ¿ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ API ¸Þ¼Òµå ¹× È®ÀåÁ¡Àº UI ½º·¹µå³ª UI ½º·¹µå¸¦ Â÷´ÜÇÑ ÁøÇà ´ëÈ­ »óÀÚ¿¡¼­ ³ª¿Â ½º·¹µå¿¡¼­ ÀÛµ¿Çß½À´Ï´Ù. ´ëºÎºÐÀÇ Ç÷¯±×ÀÎ ÀÛ¼ºÀÚ´Â ½º·¹µå ¾ÈÀü¿¡ ´ëÇØ ¿ì·ÁÇÒ Çʿ䰡 ¾ø¾úÀ¸¸ç ¸ðµç UI Ȱµ¿ÀÌ UI ½º·¹µå¿¡¼­ ¹ß»ýÇÏ´ÂÁö È®Àθ¸ ÇÏ¸é µË´Ï´Ù. Eclipse 3.0¿¡´Â º¸´Ù ¸¹Àº µ¿½Ã¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌÁ¦ ¸¹Àº Á¶ÀÛÀÌ ¹è°æ ½º·¹µå¿¡¼­ ¹ß»ýÇÏ¸ç ½º·¹µå¸¦ Æ÷ÇÔÇÑ ´Ù¸¥ ½º·¹µå¿Í µ¿½Ã¿¡ Á¶ÀÛÀ» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. Äڵ尡 ¹è°æ ½º·¹µå¿¡¼­ ½ÇÇàÇÏ´Â ¸ðµç Ç÷¯±×ÀÎÀº ÄÚµåÀÇ ½º·¹µå ¾ÈÀüÀ» ÀνÄÇØ¾ß ÇÕ´Ï´Ù.

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 (ext. point) ÀÚµ¿ ºôµå°¡ ÀÌÁ¦ ¹è°æ¿¡ ÀÖÀ½
org.eclipse.core.resources.ISaveParticipant SNAPSHOT°¡ ÀÌÁ¦ ¹è°æ¿¡ ÀÖÀ½
org.eclipse.ui.workbench.texteditor.quickdiffReferenceProvider (ext. point) Eclipse 3.0ÀÇ »õ·Î¿î »çÇ×, ¹è°æ¿¡¼­ ½ÇÇà
org.eclipse.ui.decorators (ext. point) Eclipse 2.1¿¡¼­ ¹è°æ¿¡ ÀÖÀ½
org.eclipse.ui.startup (ext. point) Eclipse 2.1¿¡¼­ ¹è°æ¿¡ ÀÖÀ½
org.eclipse.team.core.org.eclipse.team.core.repository (ext. point) ¿©·¯ Á¶ÀÛÀÌ ÀÌÁ¦ ¹è°æ¿¡ ÀÖÀ½
org.eclipse.team.ui.synchronizeParticipants (ext. point) Eclipse 3.0ÀÇ »õ·Î¿î »çÇ×, ¹è°æ¿¡¼­ ½ÇÇà
org.eclipse.debug.core.launchConfigurationTypes (ext. point) ÀÌÁ¦ ¹è°æ¿¡¼­ ½ÇÇà
org.eclipse.jdt.core.IElementChangedListener ElementChangedEvent.PRE_AUTO_BUILD°¡ ÀÌÁ¦ ¹è°æ¿¡¼­ ½ÇÇà, POST_RECONCILE´Â ÀÌ¹Ì ¹è°æ¿¡¼­ ½ÇÇàÇÔ

ÄÚµå ½º·¹µå¸¦ ¾ÈÀüÇÏ°Ô ÇÏ´Â ¸î °¡Áö Àü·«ÀÌ ÀÖ½À´Ï´Ù. ´Ü¼øÇÑ ¼Ö·ç¼ÇÀº ¸ðµç ÀÛ¾÷ÀÌ UI ½º·¹µå¿¡¼­ ¹ß»ýÇÏ´ÂÁö È®ÀÎÇÏ¿© ÀÏ·ÃÈ­µÈ ½ÇÇàÀ» È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ´Â CPU ÁýÁß Ã³¸®¸¦ ¼öÇàÇÏÁö ¾Ê´Â UI Ç÷¯±×Àο¡ ´ëÇÑ ÀϹÝÀûÀÎ Á¢±Ù¹ýÀÔ´Ï´Ù. À̰ÍÀ» ¼öÇàÇÒ ¶§ Display.syncExec¿¡¼­ ±³Âø »óÅ À§ÇèÀ» ÀνÄÇØ¾ß ÇÕ´Ï´Ù. Display.asyncExec´Â Äڵ尡 ½ÇÇàµÉ ¶§ ÀÚ¼¼ÇÑ Á¦¾î¸¦ ¼Õ½ÇÇÏ´Â ´ë½Å ±³Âø »óÅ À§ÇèÀ» °¡Á®¿ÀÁö ¾ÊÀ¸¹Ç·Î ÀϹÝÀûÀ¸·Î º¸´Ù ¾ÈÀüÇÕ´Ï´Ù.

½º·¹µå Äڵ带 ¾ÈÀüÇÏ°Ô ÇÏ´Â ´Ù¸¥ ±â¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

6. IFiles¿¡¼­ ÆíÁý±â ¿­±â

´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IWorkbenchPage ÀÎÅÍÆäÀ̽º¿¡¼­ »èÁ¦µÇ¾ú½À´Ï´Ù. IWorkbenchPage°¡ ÀÏ¹Ý Workbench¿¡¼­ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.

ÀÌ IWorkbenchPage.openEditor ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â org.eclipse.ui.ide.IDE Ŭ·¡½º(org.eclipse.ui.ide Ç÷¯±×ÀÎ)¿¡¼­ ¼±¾ðµÈ ÇØ´ç °ø¿ë Á¤Àû ¸Þ¼Òµå¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù.

ÀÌ IWorkbenchPage.openSystemEditor(IFile) ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â »õ FileEditorInput(IFile)À» »ç¿ëÇÏ¿© IFileÀ» EditorInputÀ¸·Î º¯È¯Çϰí openEditor(IEditorInput,String) ¸Þ¼Òµå¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ´Þ¸® ¸»Çϸé page.openSystemEditor(file)¸¦ page.openEditor(new 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 ´ÜÆí¿¡ ÀÇÇØ È¿À²ÀûÀ¸·Î "Ãß°¡µË´Ï´Ù".)

7. ÆíÁý±â À̵¿ ¸¶Ä¿

´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IEditorPart ÀÎÅÍÆäÀ̽º¿¡¼­ »èÁ¦µÇ¾ú½À´Ï´Ù. IEditorPart°¡ ÀÏ¹Ý Workbench¿¡¼­ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.

ÇØ´ç ¸Þ¼Òµå´Â IEditorPart, Áï EditorPart, MultiEditor, MultiPageEditorPart ¹× MultiPageEditor¸¦ ±¸ÇöÇÏ´Â org.eclipse.ui.part ÆÐŰÁöÀÇ Å¬·¡½º¿¡¼­µµ »èÁ¦µÇ¾ú½À´Ï´Ù. 

ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ®°¡ ÆíÁý±â ºÎºÐÀÌ org.eclipse.ui.ide.IGotoMarker(org.eclipse.ui.ide Ç÷¯±×ÀÎ)¸¦ ±¸ÇöÇϰųª ¿©±â¿¡ ÀûÇÕÇÑÁö Å×½ºÆ®ÇØ¾ß ÇÏ¸ç ±×·± °æ¿ì gotoMarker(IMarker)¸¦ È£ÃâÇϽʽÿÀ. IDE Ŭ·¡½º¿¡´Â ±×·¸°Ô Çϱâ À§ÇÑ Æí¸®ÇÑ ¸Þ¼ÒµåÀÎ IDE.gotoMarker(editor, marker)°¡ ÀÖ½À´Ï´Ù.

IMarker Á¤º¸¸¦ ±âÁØÀ¸·Î ¹èÄ¡µÉ ¼ö ÀÖ´Â ÆíÁý±â¸¦ ±¸ÇöÇϴ Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.ide.IGotoMarker¸¦ ±¸ÇöÇϰųª ¿©±â¿¡ ÀûÇÕÇØ¾ß ÇÕ´Ï´Ù.

IGotoMarkerÀÇ À¯ÀÏÇÑ ¸Þ¼Òµå´Â gotoMarker(IMarker)ÀÌ¸ç µ¿ÀÏÇÑ ¼­¸í ¹× ½ºÆåÀ» ±âÁ¸ IEditorPart.gotoMarker(IMarker)·Î °¡Áö°í ÀÖÀ¸¹Ç·Î, ±âÁ¸ ÆíÁý±â ±¸ÇöÀº Ŭ·¡½º Á¤ÀÇÀÇ implements Àý¿¡¼­ IGotoMarker¸¦ Æ÷ÇÔÇÏ¿© ÀÌ º¯°æ»çÇ׿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼­ ½ÇÇàÇÒ ¶§ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº Ŭ·¡½º ¸µÅ© ¿À·ù ¿¹¿Ü¸¦ °¡Á®¿É´Ï´Ù.

8. ÆíÁý±â ½ÇÇà±â

ÆíÁý±â ½ÇÇà±â ÀÎÅÍÆäÀ̽º org.eclipse.ui.IEditorLauncher´Â ¿ÜºÎ ÆíÁý±â¸¦ Á¦°øÇÏ´Â Ç÷¯±×Àο¡¼­ ±¸ÇöµË´Ï´Ù. ´ÙÀ½ ¸Þ¼Òµå°¡ ÀÌ ÀÎÅÍÆäÀ̽º¿¡¼­ Á¦°ÅµÇ¾ú½À´Ï´Ù. IEditorLauncher°¡ ÀÏ¹Ý Workbench¿¡¼­ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.

´ÙÀ½À¸·Î ´ëüµË´Ï´Ù.

IEditorLauncher.open(file)À» È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ®´Â ´ë½Å IEditorLauncher.open(file.getLocation())À» È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴ Ŭ¶óÀÌ¾ðÆ®´Â open(IFile)ÀÇ ±¸ÇöÀ» open(IPath)¿¡ ´ëÇÑ ±¸ÇöÀ¸·Î ´ëü(¶Ç´Â Ãß°¡)ÇØ¾ß ÇÕ´Ï´Ù.

Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼­ ½ÇÇàÇÒ ¶§ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº Ŭ·¡½º ¸µÅ© ¿À·ù ¿¹¿Ü¸¦ °¡Á®¿É´Ï´Ù.

9. ÆíÁý±â ·¹Áö½ºÆ®¸®

´ÙÀ½ ¸Þ¼Òµå°¡ org.eclipse.ui.IEditorRegistry ÀÎÅÍÆäÀ̽º¿¡¼­ Á¦°ÅµÇ¾ú½À´Ï´Ù. IEditorRegistry´Â ÀÏ¹Ý Workbench¿¡¼­ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.

getEditors(file) ¶Ç´Â getImageDescriptor(file)¸¦ È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ®´Â "String" µ¿µî ¸Þ¼Òµå¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. setDefaultEditor(IFile file, String editorId) ¹× getDefaultEditor(IFile file)¸¦ È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ®´Â class org.eclipse.ui.ide.IDE(org.eclipse.ui.ide Ç÷¯±×ÀÎ)¿¡¼­ ¼±¾ðµÈ ÇØ´ç °ø¿ë Á¤Àû ¸Þ¼Òµå¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ ¸Þ¼Òµå IEditorRegistrygetDefaultEditor()ÀÇ API °è¾àÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ÀÌÁ¦ Áö¿øµÇÁö ¾Ê´Â ÀÌ ¸Þ¼Òµå´Â Ç×»ó ½Ã½ºÅÛ ¿ÜºÎ ÆíÁý±â ÆíÁý±â ¼³¸íÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ º¯°æ»çÇ×Àº ¸®ÅϵǴ ±âº» ÆíÁý±â°¡ ¹®¼­ ÆíÁý±âÀÓÀ» °¡Á¤ÇÑ Å¬¶óÀÌ¾ðÆ®¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.

½Ã½ºÅÛ ¿ÜºÎ ÆíÁý±â ¹× ½Ã½ºÅÛ In-Place ÆíÁý±â ID¸¦ Ç¥½ÃÇÏ´Â »õ »ó¼ö°¡ ÀÖ½À´Ï´Ù(SYSTEM_EXTERNAL_EDITOR_ID ¹× SYSTEM_INPLACE_EDITOR_ID). ÀÌ µÎ °³ÀÇ ÆíÁý±â¿¡´Â org.eclipse.ui.IPathEditorInputÀ» ±¸ÇöÇϰųª ¿©±â¿¡ Àû¿ëµÇ´Â ÆíÁý±â ÀÔ·ÂÀÌ ÇÊ¿äÇÕ´Ï´Ù. In-Place ÆíÁý±â ¼³¸íÀÚ´Â In-Place ÆíÁýÀ» Áö¿øÇÏÁö ¾Ê´Â Eclipse ±¸¼º¿¡ ¾ø½À´Ï´Ù.

10. Workbench ¸¶Ä¿ µµ¿ò¸» ·¹Áö½ºÆ®¸®

´ÙÀ½ ¸Þ¼Òµå´Â org.eclipse.ui.IWorkbench ÀÎÅÍÆäÀ̽º¿¡¼­ »èÁ¦µÇ¾ú½À´Ï´Ù. IWorkbench°¡ ÀÏ¹Ý Workbench¿¡¼­ ¼±¾ðµÇÁö¸¸ ¸Þ¼Òµå´Â ÀÚ¿ø¿¡ °íÀ¯ÇÕ´Ï´Ù.

IWorkbench.getMarkerHelpRegistry()ÀÇ Å¬¶óÀÌ¾ðÆ®´Â °ø¿ë Á¤Àû ¸Þ¼Òµå org.eclipse.ui.ide.IDE.getMarkerHelpRegistry()¸¦ ´ë½Å È£ÃâÇØ¾ß ÇÕ´Ï´Ù(org.eclipse.ui.ide Ç÷¯±×Àο¡¼­).

Ç¥ÁØ Eclipse 3.0 ±¸¼º¿¡¼­ ½ÇÇàÇÒ ¶§ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Äڵ尡 ÀÖ´Â 2.1 2Áø Ç÷¯±×ÀÎÀº ¿¹¿Ü¸¦ °¡Á®¿É´Ï´Ù.

11. ¹®¼­ ÆíÁý±â ¹®¼­ Á¦°øÀÚ

org.eclipse.ui.texteditor.AbstractTextEditor¸¦ IFile°ú µ¶¸³ÀûÀ¸·Î ÀÛ¼ºÇϱâ À§ÇØ org.eclipse.ui.texteditor.AbstractDocumentProvider´Â ¹®¼­ Á¦°øÀÚ Á¶ÀÛ(DocumentProviderOperation) ¹× ¹®¼­ Á¦°øÀÚ Á¶ÀÛ ½ÇÇà±â(IRunnableContext)ÀÇ °³³äÀ» ¼Ò°³ÇÕ´Ï´Ù. Àç¼³Á¤, ÀúÀå ¶Ç´Â µ¿±âÈ­ ¼öÇà¿¡ ´ëÇÑ ¿äûÀ» ¹ÞÀ¸¸é AbstractDocumentProvider´Â ¹®¼­ Á¦°øÀÚ Á¶ÀÛÀ» ÀÛ¼ºÇϰí Á¶ÀÛ ½ÇÇà±â¸¦ »ç¿ëÇÏ¿© ½ÇÇàÇÕ´Ï´Ù. ½ÇÇà °¡´É ÄÁÅØ½ºÆ®´Â getOperationRunner ¸Þ¼Òµå¸¦ ÅëÇØ ¼­ºêŬ·¡½º¿¡¼­ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº Ŭ¶óÀÌ¾ðÆ®°¡ Àû¿ëÇØ¾ß ÇÏ´Â º¯°æ»çÇ×ÀÇ ¿ä¾àÀÔ´Ï´Ù.

AbstractDocumentProvider ¼­ºêŬ·¡½º org.eclipse.ui.editors.text.StorageDocumentProvider´Â getOperationRunner ¸Þ¼Òµå¸¦ ±¸ÇöÇÏ¿© Ç×»ó ³Î(null)À» ¸®ÅÏÇÕ´Ï´Ù. Áï, StorageDocumentProviderÀÇ ¼­ºêŬ·¡½º´Â ÀÌ º¯°æ»çÇ×À¸·Î ¿µÇâÀ» ¹ÞÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù.

StorageDocumentProvider ¼­ºêŬ·¡½º org.eclipse.ui.editors.text.FileDocumentProvider´Â WorkspaceModifyOperation ³»¿¡¼­ ÇØ´ç DocumentProviderOperations¸¦ ½ÇÇàÇϱâ À§ÇØ IRunnableContext¸¦ ¸®ÅÏÇÏ´Â getOperationRunner ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù. FileDocumentProvider¿¡ ´ëÇÑ ´Ù¸¥ º¯°æ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.

12. ¹®¼­ ÆíÁý±â

org.eclipse.ui.texteditor.AbstractTextEditor¿¡ ´ëÇÑ º¯°æ»çÇ×:

AbstractTextEditor ¼­ºêŬ·¡½º org.eclipse.ui.texteditor.StatusTextEditor´Â ¼úºÎ ¸Þ¼Òµå isErrorStatus(IStatus)¸¦ Á¦°øÇÕ´Ï´Ù. ÇØ´ç »óŰ¡ ¿À·ùÀÎÁö ¾Æ´ÑÁö °áÁ¤Çϱâ À§ÇØ ¼­ºêŬ·¡½º¸¦ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.

org.eclipse.ui.editors.text.AbstractDecoratedTextEditor¿¡ ´ëÇÑ º¯°æ»çÇ×:

13. Çìµå ¾ø´Â ¾î³ëÅ×ÀÌ¼Ç Áö¿ø

Çìµå ¾ø´Â ¾î³ëÅ×ÀÌ¼Ç Áö¿ø¿¡ ´ëÇÑ ¼Ò°³ÀÇ ÀϺημ­ ¾î³ëÅ×À̼ǿ¡ ´ëÇÑ ´ÙÀ½ º¯°æ»çÇ×ÀÌ ÀÛ¼ºµÇ¾ú½À´Ï´Ù.

        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

14. ÄÜ¼Ö º¸±â

Eclipse 3.0¿¡´Â »õ·Î¿î ÀÏ¹Ý ÄÜ¼Ö Áö¿øÀÌ ÀÖ½À´Ï´Ù. ÀÏ¹Ý ÄܼÖÀº â > º¸±â Ç¥½Ã > ±âº» > ÄܼÖÀ» ÅëÇØ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç Eclipse µð¹ö±× ¹× Ant ÅëÇÕ¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

ÄܼÖÀÇ º¸±â ID´Â org.eclipse.debug.ui.ConsoleView¿¡¼­ org.eclipse.ui.console.ConsoleView·Î º¯°æµÇ¾ú½À´Ï´Ù. ±âÁ¸ º¸±â°¡ ¾ø±â ¶§¹®¿¡ ÇÁ·Î±×·¥À¸·Î ÄܼÖÀ» ¿©´Â 2.1 Ç÷¯±×ÀÎÀÌ ¼º°øÇÏÁö ¸øÇÕ´Ï´Ù.

15. Java Áß´ÜÁ¡ ¸®½º³Ê

3.0¿¡¼­, ¸Þ¼Òµå org.eclipse.jdt.debug.core.IJavaBreakpointListener.breakpointHit(IJavaBreakpoint, IJavaThread) ¹× installingBreakpoing(IJavaTarget, IJavaBreakpoint, IJavaType)ÀÇ ¸®ÅÏ À¯ÇüÀÌ ºÎ¿ï¿¡¼­ int·Î º¯°æµÇ¾î ¸®½º³Ê°¡ "ÁÖÀÇÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. 3.0 ÀÌÀü ¸±¸®½ºÀÇ °æ¿ì, ¸®½º³Ê´Â Áß´ÜÁ¡ÀÌ ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡¸¸ "ÀϽÃÁß´Ü" ¶Ç´Â "ÀϽÃÁß´ÜÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇϰí Áß´ÜÁ¡ÀÌ ¼³Ä¡µÉ ¿¹Á¤À̸é "¼³Ä¡" ¶Ç´Â "¼³Ä¡ÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. 3.0¿¡¼­ ¸®½º³Ê´Â ÀÌ ¾Ë¸²¿¡ ´ëÇØ "ÁÖÀÇÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù. À̴ Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖÀÇÇÏ´Â »óȲ¿¡¼­¸¸ °áÁ¤ÀûÀÎ ¼±ÅÃÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. "Áß´ÜÁ¡ ÀÏÄ¡" ¾Ë¸²ÀÇ °æ¿ì ¸®½º³Ê°¡ "ÀϽÃÁß´Ü"À» ¼±ÅÃÇϰųª ¸ðµç ¸®½º³Ê°¡ "ÁÖÀÇÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÏ´Â °æ¿ì Áß´ÜÁ¡ÀÌ ÀϽÃÁß´ÜÇϰí, Çϳª ÀÌ»óÀÇ ¸®½º³Ê°¡ "ÀϽÃÁß´ÜÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÏ°í ¸®½º³Ê°¡ "ÀϽÃÁß´Ü"À» ¼±ÅÃÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â Áß´ÜÁ¡ÀÌ ÀϽÃÁß´ÜÇÏÁö ¾Ê½À´Ï´Ù. ¸¶Âù°¡Áö·Î "Áß´ÜÁ¡ ¼³Ä¡" ¾Ë¸²ÀÇ °æ¿ì ¸®½º³Ê°¡ ¼³Ä¡¸¦ ¼±ÅÃÇϰųª ¸ðµç ¸®½º³Ê°¡ "ÁÖÀÇÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÏ´Â °æ¿ì Áß´ÜÁ¡ÀÌ ¼³Ä¡µÇ°í, Çϳª ÀÌ»óÀÇ ¸®½º³Ê°¡ "¼³Ä¡ÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇÏ°í ¸®½º³Ê°¡ "¼³Ä¡"¸¦ ¼±ÅÃÇÏÁö ¾Ê´Â °æ¿ì¿¡´Â Áß´ÜÁ¡ÀÌ ¼³Ä¡µÇÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ±¸ÇöÀÚ´Â ÇÑ µÎ°¡Áö ¹æÇâ¿¡ ´ëÇØ °­ÇÑ ÀǰßÀ» °¡Áö°í ÀÖ´Â °æ¿ì¸¦ Á¦¿ÜÇϰí DONT_CARE¸¦ ¸®ÅÏÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, "ÀϽÃÁß´Ü"À» ¼±ÅÃÇÏ¸é ´Ù¸¥ ¸®½º³Ê°¡ "ÀϽÃÁß´ÜÇÏÁö ¾ÊÀ½"À» ¼±ÅÃÇØµµ ¹«½ÃµÊÀ» ±â¾ïÇØ¾ß ÇÕ´Ï´Ù.

IJavaBreakpointListener ÀÎÅÍÆäÀ̽º´Â Java Äڵ忡¼­ Áß´ÜÁ¡À» ÀÛ¼ºÇϰųª Áß´ÜÁ¡¿¡ ¹ÝÀÀÇϴ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù. ÀÌ º¯°æ»çÇ×ÀÌ ¼öÁ¤ÇÏ´Â ¹®Á¦Á¡(¹ö±× 37760)À» º¸°íÇÑ Å¬¶óÀÌ¾ðÆ®¸¦ ÀúÀåÇÏ´Â JDT ÀÚü ÀÌ»óÀÇ Å¬¶óÀÌ¾ðÆ®´Â °ÅÀÇ ¾ø½À´Ï´Ù. ÀÌ´Â IJavaBreakpointListener ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ±âÁ¸ Äڵ忡 ´ëÇÑ Áß´Ü º¯°æ»çÇ×ÀÔ´Ï´Ù. ÀÌ ÄÚµå´Â 3.0¿¡¼­ ÄÄÆÄÀÏÇϰųª ½ÇÇàÇϱâ Àü¿¡ ÇØ´ç int °ªÀ» ¸®ÅÏÇϵµ·Ï ¼öÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.

16. UI ½º·¹µåÀÇ Å¬¸³º¸µå ¾×¼¼½º

3.0 ÀÌÀüÀÇ °æ¿ì SWT Ŭ·¡½º org.eclipse.swt.dnd.ClipboardÀÇ ¸Þ¼Òµå°¡ UI ½º·¹µå ÀÌ¿ÜÀÇ ½º·¹µå¿¡¼­ ½ÇÇàÇϵµ·Ï ¾Ï½ÃÀûÀ¸·Î Çã¿ëµÇ¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ ºÎÁÖÀÇ¿¡ ÀÇÇØ ¿î¿µ üÁ¦°¡ ¸ðµç Ŭ¸³º¸µå »óÈ£ÀÛ¿ëÀÌ UI ½º·¹µå¿¡¼­ ¼öÇàµÉ °ÍÀ» ¿ä±¸ÇÏ´Â GTK ½ÇÆÐ°¡ ¹ß»ýÇÕ´Ï´Ù. ¿©·¯ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ´ÜÀÏ ½º·¹µåµÇ°í Windows¿¡¼­ ´ëºÎºÐÀÇ Å×½ºÆ®¸¦ ¹ÞÀ¸¹Ç·Î ÀÌ·¯ÇÑ ºÎÁÖÀǰ¡ ÀÌÀü¿¡´Â µå·¯³ªÁö ¾Ê¾Ò½À´Ï´Ù. Ŭ¸³º¸µå API°¡ Áö¼Ó °¡´ÉÇÏ°í ±³Â÷ Ç÷§Æû¿¡ ÀÖµµ·Ï ÇÏ·Á¸é, 3.0¿¡¼­ UI°¡ ¾Æ´Ñ ½º·¹µå¿¡¼­ È£ÃâµÈ °æ¿ì ¸ðµç Ŭ¸³º¸µå API ¸Þ¼ÒµåÀÇ ½ºÆå ¹× ±¸ÇöÀÌ SWT ¿¹¿Ü(ERROR_THREAD_INVALID_ACCESS)¸¦ ó¸®Çϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù. Ŭ¸³º¸µå ¼­ºñ½º´Â ÀÌ Áß´Ü º¯°æ»çÇ׿¡¼­ ¿©·¯ Ŭ¶óÀÌ¾ðÆ®¸¦ ºÐ¸®ÇÏ´Â ¹®¼­ ÆíÁý±â¿Í °°Àº Eclipse ±¸¼º¿ä¼Ò¿¡¼­ ÀÚµ¿À¸·Î Á¦°øµË´Ï´Ù. Ŭ¸³º¸µå¸¦ Á÷Á¢ »ç¿ëÇÏ´Â ±âÁ¸ ÄÚµå´Â ¾×¼¼½º¸¦ UI ½º·¹µå·Î À̵¿ÇÏ´Â °ÍÀÌ ÀûÀýÇÑ °æ¿ì Display.asyncExec ¶Ç´Â syncExec¸¦ »ç¿ëÇÏ¿© ¿Ã¹Ù¸¥ ½º·¹µå¿¡¼­ API ¸Þ¼Òµå°¡ È£ÃâµÇ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.

17. Ű ¾Æ·¡ À̺¥Æ®

3.0ÀÇ °æ¿ì, OS¿¡¼­ ÀÛ¾÷ÀÌ ¿Ï·áµÇ±â Àü¿¡ SWT´Â Ű ¾Æ·¡ À̺¥Æ®¸¦ º¸°íÇÕ´Ï´Ù. ÀÌ´Â 3.0 ÀÌÀüº¸´Ù ½±½À´Ï´Ù. ÀÌ º¯°æ»çÇ×Àº À§ÁöÆ®¿¡¼­ ¹®ÀÚ¸¦ ó¸®Çϱâ Àü¿¡ Ű À̺¥Æ®¸¦ ÀÎÅͼÁÆ®ÇØ¾ß ÇÏ´Â Eclipse¿¡¼­ Ű ¹ÙÀεùÀ» Áö¿øÇϱâ À§ÇØ ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ÀÌ º¯°æ»çÇ×ÀÇ °á°ú´Â ÇÏÀ§ ·¹º§ org.eclipse.swt.SWT.KeyDown À̺¥Æ®¸¦ Á÷Á¢ ó¸®ÇÏ´Â Äڵ忡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ¿¹¸¦ µé¾î, ÅØ½ºÆ® À§ÁöÆ®ÀÇ ¸®½º³Ê°¡ Ű ¾Æ·¡ À̺¥Æ®¸¦ ¼ö½ÅÇϸé À§ÁöÆ®ÀÇ ÄÁÅÙÃ÷(getText())°¡ ¹æ±Ý ÀÔ·ÂµÈ Å°¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù´Â ÀǹÌÀÔ´Ï´Ù(3.0 ÀÌÀüÀº Æ÷ÇÔ). ÇöÀç ۸¦ Æ÷ÇÔÇÏ´Â À§ÁöÆ®¿¡¼­ Àüü ÅØ½ºÆ®¸¦ °¡Á®¿À´Â ÁÁÀº ¹æ¹ýÀº ÇÏÀ§ ·¹º§ SWT.KeyDown À̺¥Æ®º¸´Ù »óÀ§ ·¹º§ SWT.Modify ¶Ç´Â SWT.Verify À̺¥Æ®¸¦ ó¸®ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¹æ¹ýÀ¸·Î ¼öÇàÇÏ´Â ÄÚµå´Â ÀÌ º¯°æ»çÇ׿¡ ÀÇÇØ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.

18. »ç¿ëÀÚ Á¤ÀÇ Á¦¾îÀÇ ÅÇ ¼øÈ¸

3.0 ÀÌÀü¿¡¼­ SWT Ŭ·¡½º org.eclipse.swt.widgets.Canvas ¶Ç´Â ¼­ºêŬ·¡½º(»ç¿ëÀÚ Á¤ÀÇ À§ÁöÆ® Æ÷ÇÔ) Áß Çϳª¿¡ ÃÊÁ¡À» µÎ´Â °æ¿ì Ctrl+Tab, Shift+Tab, Ctrl+PgUp ¶Ç´Â Ctrl+PgDnÀ» ÀÔ·ÂÇϸé Ű À̺¥Æ®¸¦ º¸°íÇÏÁö ¾Ê°í ´ÙÀ½/ÀÌÀü À§ÁöÆ®·Î ¼øÈ¸¸¦ ÀÚµ¿ Æ®¸®°ÅÇÕ´Ï´Ù. ÀÌ ÀÛµ¿Àº ÁöÁ¤µÇÁö ¾Ê¾ÒÀ¸¸ç ĵ¹ö½º¿¡ ÀÔ·ÂµÈ ¸ðµç ۰¡ Ç¥½ÃµÇ´Â ±ÔÄ¢¿¡ ´ëÇÑ Ä«¿îÅ͸¦ ½ÇÇàÇÕ´Ï´Ù. ¼øÈ¸¸¦ ó¸®ÇÏ´Â ÀûÀýÇÑ ¹æ¹ýÀº ¼øÈ¸ ¸®½º³Ê¸¦ µî·ÏÇÏ´Â °ÍÀÔ´Ï´Ù. 3.0¿¡¼­ Eclipse Ű ¹ÙÀεùÀ» ÀûÀýÈ÷ Áö¿øÇÏ·Á¸é ¼øÈ¸ÇÏ´Â ´ë½Å Ctrl+Tab, Shift+Tab, Ctrl+PgUp ¹× Ctrl+PgDn Ű À̺¥Æ®°¡ ĵ¹ö½º¿¡ Ç¥½ÃµÇµµ·Ï ±âº» ÀÛµ¿ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ¿ø·¡ ĵ¹ö½º¸¦ »ç¿ëÇϰųª ĵ¹ö½ºÀÇ ¼­ºêŬ·¡½º¸¦ Á¤ÀÇÇÏ´Â °æ¿ì À̵¿ ¸®½º³Ê¸¦ µî·ÏÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ.

19. SWT Å×ÀÌºí ¹× Æ®¸® À§ÁöÆ®(widget)ÀÇ ¼±Åà À̺¥Æ® ¼ø¼­

SWT Ŭ·¡½º org.eclipse.swt.widgets.Table ¹× Tree¿¡ ÀÖ´Â Ç׸ñÀÇ ¸¶¿ì½º ¼±ÅûçÇ×Àº ¸ðµç ¿î¿µ ȯ°æ¿¡¼­ À̺¥Æ® ¼ø¼­ MouseDown-Selection-MouseUpÀ» ÀÏÁ¤ÇÏ°Ô »ý¼ºÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î Űº¸µå ¼±ÅûçÇ×Àº ¸ðµç ¿î¿µ ȯ°æ¿¡¼­ À̺¥Æ® ¼ø¼­ KeyDown-Selection-KeyUpÀ» ÀÏÁ¤ÇÏ°Ô »ý¼ºÇÕ´Ï´Ù. 3.0 ÀÌÀü¿¡´Â À̺¥Æ® ¼ø¼­°¡ ÀÏÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. Ç×»ó ¼±ÅûçÇ× À̺¥Æ®¸¦ ¸ÕÀú º¸°íÇÏ¿© ³ª¸ÓÁö¿¡ ´ëÇÑ Motif¿Í PhotonÀÇ ÆíÂ÷°¡ ÀÖ½À´Ï´Ù (¿¹: Selection-MouseDown-MouseUp ¶Ç´Â Selection-KeyDown-KeyUp). 3.0ÀÇ °æ¿ì Motif ¹× PhotonÀÇ À̺¥Æ® ¼ø¼­´Â ´Ù¸¥ »çÇ×°ú ÀÏÄ¡Çϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù. {Windows, GTK} ¹× {Motif, Photon}¿¡¼­ ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÏ´Â ±âÁ¸ ÄÚµå´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ±×·¯³ª Äڵ带 È®ÀÎÇÏ¿© À¯È¿ÇÏÁö ¾ÊÀº À̺¥Æ® ¼ø¼­¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´ÂÁö È®ÀÎÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

20. »óÅ ¿ÀºêÁ§Æ®ÀÇ »õ ½É°¢µµ ·¹º§

org.eclipse.core.runtime.IStatus¿¡´Â Ãë¼Ò¸¦ Ç¥½ÃÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â »õ ½É°¢µµ »ó¼ö IStatus.CANCELÀÌ ÀÖ½À´Ï´Ù. IStatus.OK, INFO, WARNING ¹× ERROR·Î Á¦ÇѵǴ °¡´ÉÇÑ ½É°¢µµ ¼¼Æ®¿¡ ÀÇÁ¸ÇÏ´Â IStatus.getSeverity()ÀÇ È£ÃâÀÚ´Â ÀÌ Ãß°¡»çÇ׿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ½À´Ï´Ù. getSeverityÀÇ È£ÃâÀÚ´Â »õ ½É°¢µµ¸¦ Æ÷ÇÔÇϵµ·Ï ÇØ´ç Äڵ带 °»½ÅÇØ¾ß ÇÕ´Ï´Ù.

21. ºôµå °ü·Ã ÀÚ¿ø º¯°æ ¾Ë¸²

Eclipse 3.0¿¡¼­ ÀÛ¾÷°ø°£ ÀÚµ¿ ºôµå´Â ÀÌÁ¦ ¹è°æ ½º·¹µå¿¡¼­ ¹ß»ýÇÕ´Ï´Ù. À̷νá org.eclipse.core.resources.IResourceChangeEvent¿¡ API °è¾à º¯°æ»çÇ×ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌÀü¿¡ IResourceChangeEventÀÇ °è¾àÀº ¸ðµç ÀÛ¾÷°ø°£ º¯°æ»çÇ׿¡ ´ëÇÑ À̺¥Æ®ÀÇ ´ÙÀ½ ¼ø¼­¸¦ º¸ÀåÇß½À´Ï´Ù.

  1. ÇØ´çÇÏ´Â °æ¿ì PRE_DELETE ¶Ç´Â PRE_CLOSE À̺¥Æ® °ø°í
  2. Á¶ÀÛ ¼öÇà
  3. PRE_AUTO_BUILD À̺¥Æ® °ø°í
  4. ÀÚµ¿ ºôµå°¡ ÀÛµ¿µÇ´Â °æ¿ì ÁõºÐ ÀÛ¾÷°ø°£ ºôµå ¼öÇà
  5. POST_AUTO_BUILD À̺¥Æ® °ø°í
  6. POST_CHANGE À̺¥Æ® °ø°í

ÀÌÁ¦ ¹è°æ¿¡¼­ ÀÚµ¿ ºôµå°¡ ½ÇÇàµÇ¹Ç·Î, AUTO_BUILD À̺¥Æ®¿Í POST_CHANGE À̺¥Æ® »çÀÌÀÇ Àӽà °ü°è¿¡ ´ëÇØ ´õ ÀÌ»ó º¸ÀåÇÏÁö ¾Ê½À´Ï´Ù. Eclipse 3.0¿¡¼­´Â À§ ±¸Á¶ÀÇ 3-5 ´Ü°è°¡ Á¶ÀÛ¿¡¼­ Á¦°ÅµË´Ï´Ù. ±× °á°ú ±×¸²Àº ´ÙÀ½°ú °°½À´Ï´Ù.

  1. ÇØ´çÇÏ´Â °æ¿ì PRE_DELETE ¶Ç´Â PRE_CLOSE À̺¥Æ® °ø°í
  2. Á¶ÀÛ ¼öÇà
  3. POST_CHANGE À̺¥Æ® °ø°í

Á¤±âÀûÀ¸·Î Ç÷§ÆûÀÌ ¹è°æ ÀÛ¾÷°ø°£ ºôµå Á¶ÀÛÀ» ¼öÇàÇÕ´Ï´Ù. À̰ÍÀº ÀÚµ¿ ºôµåÀÇ ÀÛµ¿ ¿©ºÎ¿Í »ó°ü¾øÀÌ ¹ß»ýÇÕ´Ï´Ù. ÀÌ ºôµå°¡ ¹ß»ýÇÏ´Â Á¤È®ÇÑ ½Ã±â°¡ ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. ºôµå Á¶ÀÛÀÇ ±¸Á¶´Â ´ÙÀ½°ú °°½À´Ï´Ù.

  1. PRE_BUILD À̺¥Æ® °ø°í(PRE_BUILD´Â PRE_AUTO_BUILDÀÇ »õ À̸§ÀÔ´Ï´Ù.)
  2. ÀÚµ¿ ºôµå°¡ ÀÛµ¿µÇ´Â °æ¿ì ÁõºÐ ÀÛ¾÷°ø°£ ºôµå ¼öÇà
  3. POST_BUILD À̺¥Æ® °ø°í(POST_BUILD´Â POST_AUTO_BUILDÀÇ »õ À̸§ÀÔ´Ï´Ù.)
  4. POST_CHANGE À̺¥Æ® °ø°í
ÀÚµ¿ ºôµå ¸®½º³Ê¿¡¼­ ¼ö½ÅÇÑ µ¨Å¸ÀÇ ÂüÁ¶Á¡Àº »çÈÄ º¯°æ ¸®½º³Ê¿Í ´Ù¸¨´Ï´Ù. ºôµå ¸®½º³Ê´Â ¸¶Áö¸· ºôµå Á¶ÀÛ Á¾·á ÀÌÈÄ ¸ðµç º¯°æ»çÇ׿¡ ´ëÇÑ ¾Ë¸²À» ¼ö½ÅÇÕ´Ï´Ù. »çÈÄ º¯°æ ¸®½º³Ê´Â ¸¶Áö¸· »çÈÄ º¯°æ ¾Ë¸² ÀÌÈÄÀÇ ¸ðµç º¯°æ»çÇ×À» ¼³¸íÇÏ´Â µ¨Å¸¸¦ ¼ö½ÅÇÕ´Ï´Ù. »õ ±¸Á¶´Â Eclipse 1.0 ÀÌÈÄ trueÀÎ ÀÚ¿ø º¯°æ ¸®½º³ÊÀÇ ¼¼ °¡Áö Ư¼ºÀ» º¸À¯ÇÕ´Ï´Ù. ±×·¯³ª ÀÌ Á¢±Ù¹ý¿¡ Áß¿äÇÑ Â÷À̰¡ ÀÖ½À´Ï´Ù. 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¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.

22. ÀÛ¾÷°ø°£ Á¶ÀÛ Áß Áß°£ ¾Ë¸²

IWorkspaceRunnableÀÇ µ¿Àû ¹üÀ§ Áß ¹ß»ýÇÏ´Â ¸ðµç ÀÚ¿ø º¯°æ»çÇ×ÀÌ ÇÑ ¹øÀÇ ¾Ë¸²À¸·Î Àϰý󸮵Ǵ °ÍÀº ´õ ÀÌ»ó º¸ÀåµÇÁö ¾Ê½À´Ï´Ù. Àϰýó¸® º¯°æ»çÇ×ÀÌ ºÒÇÊ¿äÇÑ ºôµå ¹× ¾Ë¸²À» ÇÇÇϵµ·Ï ÇÏ´Â µ¥ ÀÌ ¸ÅÄ¿´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ ÀÌÁ¦ Ç÷§Æû¿¡¼­ Á¶ÀÛ Áß ¾Ë¸²À» ¼öÇàÇϵµ·Ï °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ API °è¾à º¯°æ»çÇ×Àº ±âÁ¸ Ŭ¶óÀÌ¾ðÆ®¿¡ ´ëÇÑ Áß´Ü º¯°æ»çÇ×ÀÌ ¾Æ´Õ´Ï´Ù. ÀÌ´Â Àå±â ½ÇÇà Á¶ÀÛ Áß Á¤±âÀûÀ¸·Î IWorkspace.checkpoint¸¦ È£ÃâÇϵµ·Ï °áÁ¤ÇÏ´Â Ç÷§Æû°ú µ¿ÀÏÇÕ´Ï´Ù. ÀÌ º¯°æÀÇ ÀÌÀ¯´Â ¿©·¯ ½º·¹µå°¡ µ¿½Ã¿¡ ÀÛ¾÷°ø°£À» ¼öÁ¤ÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÇϳªÀÇ ½º·¹µå°¡ ÀÛ¾÷°ø°£ ¼öÁ¤À» ¿Ï·áÇÏ¸é ´Ù¸¥ Á¶ÀÛÀÌ ¿Ï·áµÇÁö ¾ÊÀº °æ¿ì¿¡µµ ´ëÀÀÇÏ´Â ¹®Á¦Á¡À» ¹æÁöÇϱâ À§ÇØ ¾Ë¸²ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ º¯°æ»çÇ×À» »ç¿ëÇϸé Á¶ÀÛÀÌ ¿Ï·áµÇ±â Àü¿¡ »ç¿ëÀÚ°¡ ÀÚ¿ø ¼¼Æ®¿¡ ´ëÇÑ ÀÛ¾÷À» ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌÁ¦ »ç¿ëÀڴ üũ¾Æ¿ô ÇÁ·Î¼¼½º¿¡ ÀÖ´Â ÇÁ·ÎÁ§Æ®¿¡¼­ ÆÄÀÏ Ã£¾Æº¸±â¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ ¸Þ¼Òµå IWorkspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor)¿¡´Â ¼±ÅÃÀû Ç÷¡±×, AVOID_UPDATE°¡ ÀÖ½À´Ï´Ù. Á¶ÀÛ ½Ã ÀÌ Ç÷¡±×¸¦ Ç÷§Æû¿¡ ´ëÇÑ ÈùÆ®·Î »ç¿ëÇÏ¿© Á¤±âÀû °»½ÅÀ» ¿øÇÏ´ÂÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

23. URL ½ºÆ®¸² Çڵ鷯 È®Àå

ÇØ´ç »çÇ×: 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);

24. Ŭ·¡½º ·Îµå ¼ø¼­

ÇØ´ç »çÇ×: ´Ù¸¥ Ç÷¯±×Àο¡¼­µµ Á¦°øÇÏ´Â ÆÐŰÁö¸¦ Á¦°øÇÏ´Â Ç÷¯±×ÀÎ. ÀÌ º¯°æ¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â Ç÷¯±×ÀÎÀº ¸Å¿ì ÀûÀ¸¸ç ¿µÇâÀ» ¹Þ´Â ÀϺΠÇ÷¯±×ÀÎÀº ½ÇÁ¦·Î À¯¿ëÇÕ´Ï´Ù(¾Æ·¡ ÂüÁ¶).

¼³¸í: Eclipse 2.x¿¡¼­ Ŭ·¡½º ·Î´õ´Â ´ÙÀ½ ¼ø¼­·Î Ŭ·¡½º¸¦ °Ë»öÇÕ´Ï´Ù. (1) »óÀ§ Ŭ·¡½º ·Î´õ(½ÇÁ¦·Î´Â Java ½Ãµ¿ Ŭ·¡½º ·Î´õ), (2) ÀÚü Ŭ·¡½º °æ·Î ÄÁÅÙÃ÷ ¹× (3)¼±¾ðµÈ ¼ø¼­ÀÇ ¸ðµç ÀüÁ¦Á¶°ÇÀ» ÂüÁ¶ÇϽʽÿÀ. OSGi´Â ÀÌ ¸ðµ¨¿¡ ´ëÇÑ ÃÖÀûÈ­¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Á¢±Ù¹ý¿¡¼­ Ŭ·¡½º ·Î´õ´Â (1) »óÀ§ Ŭ·¡½º ·Î´õ(Java ½Ãµ¿ Ŭ·¡½º ·Î´õ), (2a) Á¶È¸µÇ´Â ÆÐŰÁö¿¡¼­ Ŭ·¡½º¸¦ Á¦°øÇÏ´Â °ÍÀ¸·Î ¾Ë·ÁÁø ´ÜÀÏ ÀüÁ¦Á¶°Ç ¶Ç´Â (2b) ¿øÇϴ Ŭ·¡½º¿¡ ´ëÇÑ ÀÚü Ŭ·¡½º °æ·Î Ç׸ñÀ» ÂüÁ¶ÇÕ´Ï´Ù.

Ŭ·¡½º ·Î´õ´Â °¡Á®¿Â ÆÐŰÁö¿Í Çʼö ÆÐŰÁö¸¦ ±âÁØÀ¸·Î ÀÚ½ÅÀ» ÂüÁ¶ÇÒÁö ÀüÁ¦Á¶°ÇÀ» ÂüÁ¶ÇÒÁö ¿©ºÎ¸¦ ÆÇº°ÇÕ´Ï´Ù. ÀÌ Á¤º¸´Â ±âÁ¸ Ç÷¯±×ÀÎÀÇ °æ¿ì Ç÷¯±×ÀÎ ÄÁÅÙÃ÷¿¡¼­ Ã߷еǰí, ¸í½ÃÀû OSGi ¹øµé manifest°¡ ÀÖ´Â Ç÷¯±×ÀÎÀÇ °æ¿ì Á÷Á¢ ÁöÁ¤µË´Ï´Ù. ¸ðµç °æ¿ì¿¡ À̰ÍÀº Ŭ·¡½º ·Î´õ°¡ ÆÐŰÁö¿¡ ´ëÇØ Ŭ·¡½º¸¦ Á¦°øÇÏ´Â a priori¶ó°í ÇÕ´Ï´Ù. À̰ÍÀº ¼º´É °³¼±»çÇ× »Ó ¾Æ´Ï¶ó µ¿ÀÏÇÑ Å¬·¡½º¸¦ Á¦°øÇÏ´Â ¿©·¯ ÀüÁ¦Á¶°ÇÀÇ º¹ÀâÇÑ ¹®Á¦¿¡ ´ëÇÑ ¼Ö·ç¼ÇÀ» Á¦°øÇÕ´Ï´Ù.

org.xml ÆÐŰÁö¿¡¼­ ´Ù¾çÇÑ Å¬·¡½º¸¦ Æ÷ÇÔÇÏ´Â Xerces ¹× XalanÀÇ ¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ. ù ¹øÂ° Á¢±Ù¹ýÀ» »ç¿ëÇϸé Xerces Ç÷¯±×ÀÎÀÌ ÀÌ Å¬·¡½ºÀÇ »çº»À» ÂüÁ¶Çϸç Xalan Ç÷¯±×ÀÎÀº ÀÚ½ÅÀÇ »çº»À» ÂüÁ¶ÇÕ´Ï´Ù. ÀÌ Ç÷¯±×ÀÎÀÌ Åë½ÅÇØ¾ß ÇϹǷΠClassCastExceptionsÀÌ ¹ß»ýÇÕ´Ï´Ù. µÎ ¹øÂ° Á¢±Ù¹ýÀ» »ç¿ëÇÏ¸é µÎ °³ÀÇ Ç÷¯±×ÀÎ Áß Çϳª¸¸ º¹Á¦ Ŭ·¡½º¸¦ Á¦°øÇÏ°í µÎ Ç÷¯±×ÀÎÀÌ ¸ðµÎ µ¿ÀÏÇÑ »çº»À» ÂüÁ¶ÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: ÇÊ¿äÇÑ Á¶Ä¡´Â »ç¿ë ÄÉÀ̽ºÀÇ Æ¯¼ö »çÇ׿¡ µû¶ó ´Ù¸¨´Ï´Ù. ¿µÇâÀ» ¹Þ´Â °³¹ßÀڴ Ŭ·¡½º °æ·Î¸¦ °ËÅäÇÏ°í ¹ß»ýÇÏ´Â Ãæµ¹À» ÇØ°áÇØ¾ß ÇÕ´Ï´Ù.

25. Ŭ·¡½º ·Î´õ º¸È£ µµ¸ÞÀÎÀÌ ¼³Á¤µÇÁö ¾ÊÀ½

ÇØ´ç »çÇ×: Ç×»ó Ŭ·¡½º ·Î´õÀÇ º¸È£ µµ¸ÞÀÎ ¼³Á¤À» ¿¹»óÇÏ´Â Ç÷¯±×ÀÎ.

¼³¸í: Eclipse 2.1¿¡¼­ Ç÷¯±×ÀΠŬ·¡½º ·Î´õ´Â java.security.SecureClassloadersÀ̸ç Ç×»ó º¸È£ µµ¸ÞÀÎÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. Eclipse 3.0¿¡¼­ Ŭ·¡½º ·Î´õ´Â SecureClassloader¸¦ È®ÀåÇÏÁö ¾ÊÀ¸¸ç Java º¸¾ÈÀÌ ÄÑÁö´Â °æ¿ì(ÀϹÝÀûÀÎ °æ¿ì°¡ ¾Æ´Ô)¿¡¸¸ º¸È£ µµ¸ÞÀÎÀ» ¼³Á¤ÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: ÇÊ¿äÇÑ Á¶Ä¡´Â Ç÷¯±×ÀÎÀÌ º¸È£ µµ¸ÞÀÎÀ» »ç¿ëÇÏ´Â ½Ã³ª¸®¿À¿¡ µû¶ó ´Ù¸¨´Ï´Ù.

26. PluginModel ¿ÀºêÁ§Æ® ij½ºÆÃ

ÇØ´ç »çÇ×: À¯Çü org.eclipse.core.runtime.IPlugin*ÀÇ ¿ÀºêÁ§Æ®¸¦ org.eclipse.core.runtime.model.Plugin*ModelÀ¸·Î ij½ºÆ®ÇÏ´Â Ç÷¯±×ÀÎ. ÀÌ ÀÎÅÍÆäÀ̽º¿Í ¸ðµ¨ Ŭ·¡½º °£ÀÇ °ü°è°¡ Eclipse 2.1 API¿¡¼­ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì¿¡µµ 2.1 ±¸Çö¿¡¼­ ÀÌ °ü°è¿¡ ÀÇÁ¸ÇÏ´Â Ç÷¯±×ÀÎÀÇ ÀνºÅϽº¸¦ ã¾ÒÀ¸¹Ç·Î ÀÌ º¯°æ»çÇ×À» ¸í½ÃÀûÀ¸·Î È£ÃâÇÕ´Ï´Ù.

¼³¸í: Eclipse API´Â ÀÏ·ÃÀÇ ÀÎÅÍÆäÀ̽º(¿¹: IPluginDescriptor), Ç÷¯±×ÀÎ ¹× Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¿¡ °üÇÑ "model" Ŭ·¡½º(¿¹: PluginDescriptorModel)¸¦ Á¦°øÇÕ´Ï´Ù. Eclipse 2.1 ±¸Çö¿¡¼­ ¸ðµ¨ Ŭ·¡½º°¡ °ü·Ã ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. »õ OSGi ±â¹Ý ·±Å¸ÀÓ¿¡¼­ Ç÷¯±×ÀÎÀÇ Å¬·¡½º ·Îµù ¹× ÀüÁ¦Á¶°ÇÀÇ Ãø¸é, ±×¸®°í È®Àå ¹× È®ÀåÁ¡ Ãø¸é »çÀ̸¦ ±¸ºÐÇÒ ¼ö ÀÖµµ·Ï Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¸¦ ´Ù½Ã ÀÛ¾÷Çß½À´Ï´Ù. ÀÌ¿Í °°ÀÌ Eclipse 3.0 ·±Å¸ÀÓÀÌ 2.1¿¡ ÀÖ´Â ±¸Çö °ü°è¸¦ À¯Áöº¸¼öÇÒ ¼ö ¾ø½À´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: ÀÌ API°¡ ¾Æ´Ñ °ü°è¿¡ ÀÇÁ¸ÇÏ´Â Ç÷¯±×ÀÎÀº »ç¿ë ÄÉÀ̽º¿¡ µû¶ó Äڵ带 ´Ù½Ã ÀÛ¾÷ÇØ¾ß ÇÕ´Ï´Ù. Ãß°¡ Á¤º¸´Â ÀÌ ¹®¼­ÀÇ ±ÇÀå º¯°æ»çÇ× ¼½¼Ç ¹× °ü·Ã Ŭ·¡½º ¹× ¸Þ¼Òµå¿¡ ´ëÇÑ Javadoc¿¡¼­ Á¦°øÇÕ´Ï´Ù.

27. ILibrary ±¸Çö ºÒ¿ÏÀü

ÇØ´ç »çÇ×: org.eclipse.core.runtime.ILibrary¸¦ »ç¿ëÇÏ´Â Ç÷¯±×ÀÎ.

¼³¸í: »õ ·±Å¸ÀÓÀº Eclipse¿Í ´Ù¸£°í ȣȯÇÒ ¼ö ¾ø´Â ¾ç½ÄÀ¸·Î Ŭ·¡½º °æ·Î Ç׸ñÀ» À¯Áöº¸¼öÇÕ´Ï´Ù. µû¶ó¼­ ȣȯ¼º °èÃþÀº ±âº» OSGi ±¸Á¶¸¦ ILibrary ¿ÀºêÁ§Æ®·Î ¿Ã¹Ù¸£°Ô ¸ðµ¨¸µÇÒ ¼ö ¾ø½À´Ï´Ù. ·±Å¸ÀÓÀÇ È£È¯¼º Áö¿øÀº ILibrary ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏÁö¸¸ ¶óÀ̺귯¸® °æ·Î¸¦ Á¦¿ÜÇÏ°í ¸ðµç »çÇ׿¡ ´ëÇØ ±âº»°ªÀ» °¡Á¤ÇØ¾ß ÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: ILibraryÀÇ »ç¿ëÀÚ´Â ÇØ´ç ¹øµé(Bundle.getHeaders() ÂüÁ¶)¿¡¼­ ¿øÇÏ´Â Çì´õ °ª(¿¹: Bundle-Classpath)¿¡ ¾×¼¼½ºÇϰí ManifestElement ÇïÆÛ Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© Ç׸ñÀ» ÇØ¼®ÇÏ´Â °ÍÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Ŭ·¡½º Javadoc¸¦ ÂüÁ¶ÇϽʽÿÀ.

28 URLÀÇ ¾ç½Ä¿¡ °üÇÑ À¯È¿ÇÏÁö ¾ÊÀº °¡Á¤

ÇØ´ç »çÇ×: ¼³Ä¡ ±¸Á¶, À§Ä¡ ¹× ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ ·¹À̾ƿô¿¡ °üÇÑ °¡Á¤À» ÇÏ´Â Ç÷¯±×ÀÎ.

¼³¸í: IPluginDescriptor.getInstallURL()¿Í °°Àº ¸Þ¼Òµå´Â ƯÁ¤ ¾ç½ÄÀÇ URLÀ» ¸®ÅÏÇÕ´Ï´Ù. ÁöÁ¤µÇÁö ¾Ê´Â ¾ç½Ä¿¡µµ ºÒ±¸ÇÏ°í ´Ù¾çÇÑ Ç÷¯±×ÀÎÀº ÇöÀç ±¸ÇöÀ» ±âÁØÀ¸·Î °¡Á¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, °á°ú¿¡¼­ ÆÄÀÏ: URLÀ» °¡Á®¿À°í URL.getFile()À» »ç¿ëÇϰí java.io.File Á¶ÀÛÀ» »ç¿ëÇϵµ·Ï ¿¹»óÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç±îÁö À̰ÍÀº ÀÛ¾÷ °¡´ÉÇßÁö¸¸ È®½ÇÇÏÁö ¾ÊÀº Á¢±Ù¹ýÀ̾ú½À´Ï´Ù. ¿¹¸¦ µé¾î, Ç÷¯±×ÀÎÀÌ À¥ ¼­¹ö¿¡ ¼³Ä¡µÇ´Â °æ¿ì http: URLÀÌ ¸®Å쵃 ¼ö ÀÖ½À´Ï´Ù. »õ Eclipse 3.0 ·±Å¸ÀÓÀº º¸´Ù À¯¿¬ÇÏ¸ç ½ÇÇà ±¸¼º¿¡ ´ëÇÑ ´õ ¸¹Àº °¡´É¼ºÀ» ¿­¾îÁÝ´Ï´Ù(¿¹: µð·ºÅ丮¿¡¼­ Á¦°ÅµÇÁö ¾Ê°í JAR¿¡ Àüü Ç÷¯±×ÀÎ À¯Áöº¸¼ö). Áï, »õ OSGi ±âº» ·±Å¸ÀÓÀÌ ½ÇÁ¦·Î 2.1 API¸¦ Áß´ÜÇÏÁö ¾Ê´Â ¹Ý¸é ÇöÀç Ç÷¯±×Àο¡¼­ ÀÛ¼ºµÈ °¡Á¤ÀÌ À¯È¿ÇÏÁö ¾Ê´Â °æ¿ì¸¦ Á¦°øÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: Ç÷¯±×ÀÎ ÀÛ¼ºÀÚ´Â ¾×¼¼½º°¡ ÇÊ¿äÇÑ Á¤º¸¸¦ getResource()(¹× Ŭ·¡½º °æ·Î)¸¦ ÅëÇØ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö È®ÀÎÇϰųª Ç÷¯±×ÀÎÀÇ ÄÁÅÙÃ÷(¿¹: Bundle.getEntry(String))¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ °ü·Ã API¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

29. BootLoader ¸Þ¼Òµå À̵¿/»èÁ¦

ÇØ´ç »çÇ×: Ŭ·¡½º 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¿¡¼­ ÇØ´ç ¸Þ¼Òµå¸¦ »ç¿ëÇϵµ·Ï Äڵ带 Á¶Á¤ÇØ¾ß ÇÕ´Ï´Ù.

30. Ç÷¯±×ÀÎ ³»º¸³»±â¿¡ Ç÷¯±×ÀÎÀÇ JARÀÌ ÀÚµ¿ Æ÷ÇÔµÇÁö ¾ÊÀ½

ÇØ´ç »çÇ×: ¸ðµç Ç÷¯±×ÀÎ.

¼³¸í: 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À» Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ.

31. ·±Å¸ÀÓ API ´Ù½Ã ³»º¸³»±â

ÇØ´ç »çÇ×: º¯°æµÈ ·±Å¸ÀÓ API·ÎºÎÅÍÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â API¸¦ Ç¥½ÃÇÏ´Â Ç÷¯±×ÀÎ.

¼³¸í: ·±Å¸ÀÓ API·ÎºÎÅÍÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â API¸¦ Ç¥½ÃÇÏ´Â ´Ù¾çÇÑ Ç÷¯±×ÀÎ. ¿©±â¼­ ¼³¸íÇÑ Eclipse 3.0 ·±Å¸ÀÓ¿¡ ´ëÇÑ º¯°æ»çÇ×À¸·Î Ŭ¶óÀÌ¾ðÆ® Ç÷¯±×ÀÎÀÌ API¿¡¼­ ·±Å¸ÀÓ APIÀÇ »ç¿ëÀ» ´Ù½Ã Æò°¡ÇØ¾ß ÇÕ´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: Eclipse ·±Å¸ÀÓ API°¡ °ÅÀÇ º¯°æµÇÁö ¾ÊÀ¸¹Ç·Î ÀÌ ½Ã³ª¸®¿ÀÀÇ ¹ß»ý °¡´É¼ºÀº Àû½À´Ï´Ù. ½Ã³ª¸®¿À¿¡ µû¶ó Ŭ¶óÀÌ¾ðÆ®´Â API¸¦ º¯°æÇϰųª ȣȯ¼º °èÃþ¿¡ ÀÇÁ¸ÇØ¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù.

32. Ç÷§ÆûÀÇ Ç÷¯±×ÀÎ ±¸¹® ºÐ¼® ¸Þ¼Òµå

ÇØ´ç »çÇ×: 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 Ŭ·¡½º¿¡¼­ µ¿ÀÏÇÑ ¸Þ¼Òµå¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

33. ´ÜÆíÀ¸·Î Á¦°øµÇ´Â Ç÷¯±×ÀÎ ¶óÀ̺귯¸®

ÇØ´ç »çÇ×: Ŭ·¡½º °æ·Î¿¡¼­ Äڵ带 ÁöÁ¤ÇÏÁö¸¸ ÇØ´ç Äڵ带 Á¦°øÇÏÁö ¾Ê´Â Ç÷¯±×ÀÎ(Áï, JARÀº ´ÜÆí(¿¹: org.eclipse.swt Ç÷¯±×ÀÎ)À¸·Î Á¦°øµÊ).

¼³¸í: »õ ·±Å¸ÀÓÀº plug.xml ÆÄÀÏÀ» Àå¸é µÚÀÇ manifest.mf ÆÄÀÏ·Î ÀüÈ¯ÇØ¾ß ÇÕ´Ï´Ù. À̰ÍÀº Ç÷¯±×Àο¡¼­ ³ª¿­Çϰí Á¦°øÇÑ jarÀÇ ±â°èÀû º¯È¯ ¹× ºÐ¼®À» ÅëÇØ ¼öÇàµË´Ï´Ù. Ç÷¯±×ÀÎÀÌ Å¬·¡½º °æ·Î¿¡¼­ jarÀ» ÁöÁ¤ÇÏÁö¸¸ jarÀ» Á¦°øÇÏÁö´Â ¾Ê´Â °æ¿ì, ºÐ¼®ÇÒ Äڵ尡 ¾øÀ¸¸ç Ç÷¯±×ÀÎ º¯È¯±â°¡ ¿Ã¹Ù¸¥ manifest.mf¸¦ »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: ÇØ´ç Ç÷¯±×ÀÎÀÇ Á¦°øÀÚ´Â Ç÷¯±×ÀÎ ÀÚü¿¡¼­ ÇØ´ç jar¸¦ Á¦°øÇϵµ·Ï º¯°æÇϰųª Ç÷¯±×Àο¡ ´ëÇÑ META-INF/MANIFEST.MF ÆÄÀÏÀ» ÀÛ¼º/À¯Áöº¸¼öÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î À̰ÍÀº PDE¸¦ »ç¿ëÇÏ¿© Ãʱâ manifest¸¦ °¡Á®¿Â ´ÙÀ½ ÇØ´ç Provide-Package Çì´õ¿¡¼­ Ãß°¡ÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

34. ºôµå ½ºÅ©¸³Æ® º¯°æ»çÇ×

ÇØ´ç »çÇ×: ·±Å¸ÀÓ °ü·Ã jar ¹× Ŭ·¡½º µð·ºÅ丮¸¦ Æ÷ÇÔÇϴ Ŭ·¡½º °æ·Î¸¦ Á¤ÀÇÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).

¼³¸í: »õ ·±Å¸ÀÓ¿¡´Â ¸¹Àº »õ Ç÷¯±×ÀÎ ¹× jarÀÌ ÀÖ½À´Ï´Ù. ·±Å¸ÀÓÀ» ±¸¼º °¡´ÉÇÑ ºÎºÐÀ¸·Î ¸®ÆÑÅ丵ÇÒ ¶§ ÇÊ¿äÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ·±Å¸ÀÓ »óȲ¿¡¼­ ÀÌ·¯ÇÑ º¯°æ»çÇ×Àº Åõ¸íÇÕ´Ï´Ù. ±×·¯³ª ÇöÀç org.eclipse.core.runtime¿¡ ´ëÇØ Äڵ带 ÄÄÆÄÀÏÇÏ´Â »ç¿ëÀÚ Á¤ÀÇ build.xml(¶Ç´Â À¯»çÇÑ) ½ºÅ©¸³Æ®°¡ ÀÖ´Â °æ¿ì, ÇØ´ç ½ºÅ©¸³Æ®¸¦ °»½ÅÇØ¾ß ¿Ã¹Ù¸£°Ô ±â´ÉÇÕ´Ï´Ù. ÀÏ¹Ý ½ºÅ©¸³Æ®¿¡´Â ´ÙÀ½°ú °°ÀÌ org.eclipse.core.runtime Ç÷¯±×ÀÎÀ» ÂüÁ¶ÇÏ´Â <javac> Ÿ½ºÅ©¿¡ Ŭ·¡½º °æ·Î Ç׸ñÀÌ ÀÖ½À´Ï´Ù.

    ../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar

·±Å¸ÀÓ Ç÷¯±×ÀÎÀº °è¼ÓÇØ¼­ ¿ø·¡ ·±Å¸ÀÓ Äڵ带 Æ÷ÇÔÇÕ´Ï´Ù. ±×·¯³ª ȣȯ¼º ¸ñÀûÀ» À§Çؼ­¸¸ Á¸ÀçÇÏ´Â ·±Å¸ÀÓÀÇ ´Ù¾çÇÑ ºÎºÐÀÌ È£È¯¼º Ç÷¯±×ÀÎ(org.eclispe.core.runtime.compatibility)¿¡ Æ÷ÇԵ˴ϴÙ. ´ëºÎºÐÀÇ »õ ·±Å¸ÀÓ ÄÚµå´Â Ç÷¯±×ÀÎ ÄÝ·º¼Ç¿¡ Æ÷ÇԵ˴ϴÙ(org.eclipse.osgi.*).

ÇÊ¿äÇÑ Á¶Ä¡: °³¹ßÀÚ´Â ÇÊ¿äÇÏ¸é ¾Æ·¡ÀÇ Ç׸ñÀ» Ãß°¡ÇÏ¿© ÄÄÆÄÀÏ ¿À·ù¸¦ Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù. Á¦°øµÈ jarÀÇ ¿ÏÀüÇÑ ¼¼Æ®°¡ ¾Æ·¡ ³ª¿­µÇÁö¸¸ ÀÏ¹Ý »ç¿ë¿¡¼­´Â ÄÄÆÄÀÏ ½Ã Ŭ·¡½º °æ·Î¿¡ ¼­ºê ¼¼Æ®¸¸ ÇÊ¿äÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î /bin µð·ºÅ丮¸¦ Æ÷ÇÔÇÏ´Â °ÍÀº Àç·®ÀÔ´Ï´Ù. Ç÷¯±×ÀÎÀ» Á¦°øÇÏ¿© ³í¸®ÀûÀÎ ±×·ìÈ­·Î Ç׸ñÀÌ Á¦°øµË´Ï´Ù.

¶ÇÇÑ ´ÙÀ½ jarÀÌ Æ¯¼ö ÄÉÀ̽º¿¡¼­ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®¸¦ °»½ÅÇÏ´Â Áß org.eclipse.core.boot¿¡ ´ëÇÑ ÂüÁ¶¸¦ »èÁ¦(Áï Á¦°Å)ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ Ç÷¯±×ÀÎÀº ´õ ÀÌ»ó »ç¿ëµÇÁö ¾ÊÀ¸¸ç Äڵ带 Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. Ç׸ñÀÌ Å¬·¡½º °æ·Î¿¡ ³²¾ÆÀÖÀ» ¼ö ÀÖÁö¸¸ ±â´ÉÀ» ÇÏÁö ¾ÊÀ¸¹Ç·Î Á¦°ÅÇØ¾ß ÇÕ´Ï´Ù. Á¦°ÅÇÏ·Á¸é ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.

    ../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar

35. PDE ºôµå Ant Ÿ½ºÅ© º¯°æ»çÇ×

ÇØ´ç »çÇ×: eclipse.buildScript Ÿ½ºÅ©¸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).

¼³¸í: PDE ºôµå´Â eclipse.buildScript Ÿ½ºÅ©¿¡ Ç÷¯±×ÀÎ ºôµå ½ºÅ©¸³Æ®ÀÇ »ý¼ºÀ» Á¦¾îÇÏ´Â »õ Ư¼ºÀ» ¼Ò°³Çß½À´Ï´Ù. À̰ÍÀº »õ OSGi ±â¹Ý ·±Å¸ÀÓ ¼Ò°³¿¡ ÀÇÇØ ¿ä±¸µË´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: Eclipse 3.0À» »ç¿ëÇÏ¿© 2.1 ±â¹Ý Á¦Ç°À» ºôµåÇÏ·Á´Â °æ¿ì eclipse.buildScript¿¡¼­ "buildingOSGi" Ư¼ºÀ» ¼Ò°³Çϰí false·Î ¼³Á¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°½À´Ï´Ù.

<eclipse.buildScript ... buildingOSGi="false"/>

36. eclipse.build Ant Ÿ½ºÅ© º¯°æ»çÇ×

ÇØ´ç »çÇ×: eclipse.buildScript Ÿ½ºÅ©¸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®(¿¹: Ant build.xml ÆÄÀÏ).

¼³¸í: PDE ºôµå´Â eclipse.buildScript Ÿ½ºÅ©¿¡ Ç÷¯±×ÀÎ ºôµå ½ºÅ©¸³Æ®ÀÇ »ý¼ºÀ» Á¦¾îÇÏ´Â »õ Ư¼ºÀ» ¼Ò°³Çß½À´Ï´Ù. À̰ÍÀº »õ OSGi ±â¹Ý ·±Å¸ÀÓ ¼Ò°³¿¡ ÀÇÇØ ¿ä±¸µË´Ï´Ù.

ÇÊ¿äÇÑ Á¶Ä¡: Eclipse 3.0À» »ç¿ëÇÏ¿© 2.1 ±â¹Ý Á¦Ç°À» ºôµåÇÏ·Á´Â °æ¿ì eclipse.buildScript¿¡¼­ "buildingOSGi" Ư¼ºÀ» ¼Ò°³Çϰí false·Î ¼³Á¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°½À´Ï´Ù.

<eclipse.buildScript ... buildingOSGi="false"/>

37. eclipse.fetch Ant Ÿ½ºÅ© º¯°æ»çÇ×

ÇØ´ç »çÇ×: 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" .../>

38. install.ini ´ëü

install.ini ÆÄÀÏÀº ´õ ÀÌ»ó Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ±¸¼º ¼­ºê µð·ºÅ丮¿¡ »õ config.ini ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. install.ini ÆÄÀÏÀ» »ç¿ëÇÏ¿© 1Â÷ ±â´É(¿¹: ºê·£µù Á¤º¸ Á¦°ø)À» »ç¿ëÇÑ Á¦Ç°Àº ´ë½Å 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 Ű¿¡¼­ ¸í½ÃÀûÀ¸·Î Á¦°øÇÕ´Ï´Ù.

¹ýÀû ÁÖÀÇ»çÇ×