¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / Eclipse / ¥×¥é¥°¥¤¥ó³«È¯¤ÎTIPS½¸ / ³ÈÄ¥¥Ý¥¤¥ó¥È¤ò¤Ä¤¯¤ë

¤½¤â¤½¤â³ÈÄ¥¥Ý¥¤¥ó¥È¤Ã¤Æ

Eclipse¤Î¥×¥é¥°¥¤¥óºîÀ®¤ò¤¹¤ë¤È¤­¤Ï¡¢¤¹¤Ç¤ËÍ¿¤¨¤é¤ì¤¿³ÈÄ¥¥Ý¥¤¥ó¥È¤ÎÄêµÁ¤Ë½¾¤Ã¤Æplugin.xml¤ËÆâÍÆ¤òµ­½Ò¤·¤Æ¤¤¤­¤Þ¤¹¡£¤½¤¦¤·¤Æ¤ª¤¯¤È¡¢Eclipse¦¤¬¤½¤ÎÆâÍÆ¤Ë½¾¤Ã¤Æ¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤Þ¤¹¡£¤Ä¤Þ¤êplugin.xml¤ËÆâÍÆ¤òµ­½Ò(= Eclipse¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÅÐÏ¿)¤·¤Æ¤ª¤¯¤ÈEclipse¤¬É¬Íפ˱þ¤¸¤Æ¥í¡¼¥Ç¥£¥ó¥°¤·¤Æ¤¯¤ì¤ë¡¢¤È¤¤¤¦Observer¥Ñ¥¿¥ó¤Î¤è¤¦¤Ê¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ë¤Ê¤Ã¤Æ¤ë¤ï¤±¤Ç¤¹¡£

¥Ó¥å¡¼¤òºî¤ë¤È¤­¤Ïorg.eclipse.ui.views¤ò»È¤¤¤Ê¤¬¤é¡¢¤µ¤é¤Ëorg.eclipse.ui.IViewPart?¤ò¼ÂÁõ¤¹¤ë¤È¤¤¤¦½ÅÊ£´¶¤Ë¤Ê¤Ë¤«°ãÏ´¶¤ò»ý¤Ã¤Æ¤¤¤¿¤ó¤Ç¤¹¤¬¡¢²¿¤È¤Ê¤¯¤¹¤Ã¤­¤ê¤·¤Þ¤·¤¿¡£Eclipse¦¤Ç¤Ïorg.eclipse.ui.views¤È¤¤¤¦²Õ½ê¤ËÅÐÏ¿¤·¤¿¥â¥Î¤Ï¡¢org.eclipse.ui.IViewPart?¤Ç¥¯¥é¥¹¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤¹¤ë¡¢¤È¤¤¤¦¥ë¡¼¥ë¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¤Í¡£

¤µ¤Æ¡¢Eclipse¤Ë¤Ï´û¸¤Î²Õ½ê(³ÈÄ¥¥Ý¥¤¥ó¥È)¤ËÅÐÏ¿¤¹¤ë¦¤Ç¤Ï¤Ê¤¯¡¢ÅÐÏ¿¤µ¤ì¤ë¦¤ÎΩ¾ì¤Ë¤Ê¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤Ä¤Þ¤ê¿·¤·¤¤³ÈÄ¥¥Ý¥¤¥ó¥È¤òÄêµÁ¤·¤Æ¡¢¤½¤ÎÄêµÁ¤Ë½¾¤Ã¤Æ·è¤Þ¤Ã¤¿½èÍý¤ò¤µ¤»¤ë¤è¤¦¤Ê¤³¤È¤¬¤Ç¤­¤ë¤ï¤±¤Ç¤¹¡£¤¿¤È¤¨¤ÐLog4j¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë³ÈÄ¥¥Ý¥¤¥ó¥È¤òÄêµÁ¤·¤Æ¤ª¤¤¤Æ¡¢¥æ¡¼¥¶¤¬¤½¤Î³ÈÄ¥¥Ý¥¤¥ó¥È¤Ë¥Õ¥¡¥¤¥ë̾¤òÅÐÏ¿¤¹¤ë¤È¡¢¤½¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÇLog4j¤Î½é´ü²½¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¡¢¤Ê¤ó¤Æ»ÅÁȤߤ¬¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£

<extension
  point="nu.mine.kino.log4j.log4jConfig">
  <log4jConfig filename="lib/log4j.xml"/>
</extension>

¤È½ñ¤¤¤Æ¤ª¤¯¤È

DOMConfigurator.configure(new File([Plugin_Directory],"lib/log4j.xml"));

¤ò¾¡¼ê¤Ë¤ä¤Ã¤Æ¤¯¤ì¤ë¡¢¤Ê¤ó¤Æ»ö¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¤³¤ì¤Ïorg.eclipse.ui.views¤ËÆâÍÆ¤ò¤ò½ñ¤¤¤Æ¤ª¤¯¤ÈIViewPart?·¿¤Ç¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤ÆÉÁ²è¤·¤Æ¤¯¤ì¤ë¡¢¤ÈƱ¤¸»ÅÁȤߤǤ¹¤Í¡£

¼ÂºÝ¤Ë¤ä¤Ã¤Æ¤ß¤ë

¤µ¤Æ¡¢¼ÂºÝ¤Ë¼«Ê¬¤Ç³ÈÄ¥¥Ý¥¤¥ó¥È¤òºîÀ®¤¹¤ë¤Ë¤Ï

  • plugin.xml¤Îextension-point ¥¿¥°¤Ç³ÈÄ¥¥Ý¥¤¥ó¥È¤ÎID¤ä¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë̾¤Ê¤É¤ò·è¤á¤ë
  • ¥¹¥­¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ç¥¿¥°¤Î¥¹¥­¡¼¥Þ¤òÄêµÁ¤¹¤ë
  • ÅÐÏ¿¤µ¤ì¤¿¾ðÊó¤ò¼èÆÀ¤·¤Æ¡¢¥¯¥é¥¹¤ò¥í¡¼¥É¤¹¤ë¤Ê¤É¤Î½èÍý¤òµ­½Ò¤¹¤ë
  • ¥æ¡¼¥¶¤Ë»È¤Ã¤Æ¤â¤é¤¦ ¤È¤¤¤¦¼ê½ç¤Ë¤Ê¤ê¤Þ¤¹¡£

¤Þ¤º³ÈÄ¥¥Ý¥¤¥ó¥È¤ò¿·µ¬¤Ëºî¤ë¤Ë¤Ï¡¢extension-point¥¿¥°¤ò»È¤¤¤Þ¤¹¡£

plugin.xml(È´¿è)

<plugin
  id="nu.mine.kino.log4j"
  .........
  </requires>
  ¢­ ³ÈÄ¥¥Ý¥¤¥ó¥È¤ÎºîÀ®
  <extension-point id="log4jConfig" name="Log4j" 
    schema="schema/log4jConfig.exsd"/>

  ¢­ ºî¤Ã¤¿³ÈÄ¥¥Ý¥¤¥ó¥È¤ËÅÐÏ¿
  <extension
        point="nu.mine.kino.log4j.log4jConfig">
     <log4jConfig filename="lib/log4j.xml"/>
  </extension>
</plugin>

¼ÂºÝ¤ËÄêµÁ¤·¤Æ¤¤¤ë²Õ½ê¤Ï

<extension-point id="log4jConfig" name="Log4j" 
    schema="schema/log4jConfig.exsd"/>

¤Ç¤¹¤¬¡¢¤³¤ì¤ÇÄêµÁ¤·¤¿³ÈÄ¥¥Ý¥¤¥ó¥ÈID¤Ïnu.mine.kino.log4j.log4jConfig¤Ç¡¢¥¹¥­¡¼¥Þ(µ­½ÒÊýË¡)¤Ïschema/log4jConfig.exsd¤Ç¤¹¤è¡¢¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¾Ê¤­¤Þ¤¹¤¬schema/log4jConfig.exsd¤Ë¤Ï¡¢log4jConfig¥¿¥°¤Ë¤Ïfilename°À­¤¬¤¢¤ê¤Þ¤¹¤è¡¢¤È¤¤¤Ã¤¿ÆâÍÆ¤¬µ­½Ò¤·¤Æ¤¢¤ê¤Þ¤¹¡£

³ÈÄ¥¥Ý¥¤¥ó¥È¤ÎÄêµÁ¤Ï°Ê¾å¤Ç¤¹¡£¼¡¤ËÅÐÏ¿¤µ¤ì¤¿¾ðÊó(¤³¤³¤Ç¤Ïfilename°À­¤ÎÃÍ)¤ò¸µ¤Ë²ÔƯ¤¹¤ë½èÍýÉôʬ¤ò½ñ¤¤¤Æ¤¤¤­¤Þ¤¹¡£½èÍý¤ò½ñ¤¯¾ì½ê¤Ï¡¢¥×¥é¥°¥¤¥ó¥¯¥é¥¹¤Î

public void start(BundleContext context);

¤Ë¤·¤Þ¤·¤¿*1¡£

¼ÂºÝ¤Î½èÍý¤òµ­½Ò¤¹¤ë

¼ÂºÝ¤Î½èÍý¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£

public void start(BundleContext context) throws Exception {
  super.start(context);
  // ¥×¥é¥°¥¤¥ó¤Î¥ì¥¸¥¹¥È¥ê¤ò¼èÆÀ
  IPluginRegistry registry = Platform.getPluginRegistry();
  // ¥ì¥¸¥¹¥È¥ê¤«¤é³ÈÄ¥¥Ý¥¤¥ó¥È¤òID¤ò»È¤Ã¤Æ¼èÆÀ
  IExtensionPoint point = registry
          .getExtensionPoint("nu.mine.kino.log4j.log4jConfig");
  // ³ÈÄ¥¥Ý¥¤¥ó¥È¤ò¤Ä¤«¤Ã¤Æ¡¢³ÈÄ¥¥¯¥é¥¹(¤ÎÇÛÎó)¤ò¼èÆÀ
  IExtension[] extensions = point.getExtensions();
  // ¢¬ ¤³¤ì¤Ï¤³¤Î¥×¥é¥°¥¤¥ó¤Îµ­½Ò¤À¤±¤Ç¤Ê¤¯¡¢
  // ¾¤Î¥×¥é¥°¥¤¥ó¤¬½ñ¤¤¤Æ¤¯¤ì¤¿ nu.mine.kino.log4j.log4jConfig
  // ³ÈÄ¥¥Ý¥¤¥ó¥È¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
  
  for (int i = 0; i < extensions.length; i++) {
      // ¢­¤³¤Î¤Ê¤«¤Ç¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¥í¡¼¥À¤ò¼èÆÀ¤·¡¢¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¥í¡¼¥À¾å¤Ç
      // Log4j¤ò½é´ü²½¤·¤Æ¤¤¤ë¡£
      loadExtension(extensions[i]);
  }
}

Ĺ¡¹¤È¤ä¤Ã¤Æ¡¢¤è¤¦¤ä¤¯ IExtension[] extensions = point.getExtensions(); ¤ÈIExtension¤ÎÇÛÎ󤬼èÆÀ¤Ç¤­¤Þ¤·¤¿¡£IExtension¤Ï¤¤¤í¤¤¤í¤Ê¤È¤³¤í¤Îplugin.xml¤¬½ñ¤¤¤Æ¤¯¤ì¤¿¡¢nu.mine.kino.log4j.log4jConfig ³ÈÄ¥¥Ý¥¤¥ó¥È¤ÎÃͤ˥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£Â³¤­¤ÎloadExtension(extensions[i])¤Ï¤½¤Î°ì¤Ä°ì¤Ä¤Î

  <extension point="nu.mine.kino.log4j.log4jConfig">

¤ËÂФ¹¤ë½èÍý¤òµ­½Ò¤·¤Þ¤·¤¿¡£

extension point¥¿¥°¤´¤È¤Î½èÍý

Á°½ÒÄ̤ꤢ¤È¤Ï

<extension point="nu.mine.kino.log4j.log4jConfig">
 <log4jConfig filename="lib/log4j.xml"/>
</extension>

¤ËÂФ¹¤ë½èÍý¤ò½ñ¤±¤Ð½ª¤ï¤ê¤Ç¤¹¡£


TIPS

¤¿¤È¤¨¤Ð³ÈÄ¥¥Ý¥¤¥ó¥È¤ØÅÐÏ¿¤ò

<extension
      point="kino.plugin.samples.dictionary">
   <dictionary name="stock.dat"/>
   <dictionary name="stock2.dat"/>
</extension>
<extension
      point="kino.plugin.samples.dictionary">
   <dictionary name="stock3.dat"/>
</extension>

¤È½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¤È¤­¡¢

IPluginRegistry registry = Platform.getPluginRegistry();
IExtensionPoint point = registry.getExtensionPoint("kino.plugin.samples.dictionary");
IExtension[] extensions = point.getExtensions();
<-¤³¤³¤Ç¤¹¤Ç¤Ë¾¤Î¥×¥é¥°¥¤¥ó¤Îʬ¤â´ªÄꤵ¤ì¤Æ¤ë¡£

// ¤³¤Îfor¤Ï extension¥¿¥° ¤Î·«¤êÊÖ¤·
for (int i = 0; i < extensions.length; i++) {
    IConfigurationElement[] elements = extensions[i]
            .getConfigurationElements();

    // ¤³¤Îfor¤Ï dictionary ¤Î·«¤êÊÖ¤·
    for (int j = 0; j < elements.length; j++) {
        System.out.println(elements[j].getAttribute("name"));
    }
}

¤³¤Îµ­»ö¤Ï

ÁªÂò»è Åêɼ
¤ª¤â¤·¤í¤«¤Ã¤¿ 10  
¤½¤¦¤Ç¤â¤Ê¤¤ 0  
  • ¤³¤Î¤ä¤êÊý¤Ç¤ä¤ì¤Ð¡¢³Æ¥×¥é¥°¥¤¥ó¤Î¥¯¥é¥¹¥í¡¼¥À¤ÇDOMConfigurator¤¬¸Æ¤Ð¤ì¤ë¤È»×¤Ã¤¿¤ó¤À¤±¤É¡¢nu.mine.kino.log4j.log4jConfig¤Î¥í¡¼¥À¤Ë°Ñ¾ù¤·¤Á¤ã¤¦¤ó¤Ç¤¹¤Í¤¨(¤¿¤Ö¤ó)¡£¥À¥á¤¸¤ã¤ó¤³¤ì¤¸¤ã -- ¤­¤Î? 2005-02-23 (¿å) 14:31:25
  • »²¹Í~ http://www.atmarkit.co.jp/fjava/rensai2/eclipse02_10/eclipse10.html -- ¤­¤Î? 2006-03-08 16:41:28 (¿å)

¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / Eclipse / ¥×¥é¥°¥¤¥ó³«È¯¤ÎTIPS½¸ / ³ÈÄ¥¥Ý¥¤¥ó¥È¤ò¤Ä¤¯¤ë

¸½ºß¤Î¥¢¥¯¥»¥¹:8888


*1 ¤³¤³¤¬Å¬ÀÚ¤«¤É¤¦¤«¤Ï¤è¤¯¤ï¤«¤é¤ó¤Ç¤¹

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2012-04-11 (¿å) 14:07:17 (38d)