středa 5. ledna 2005

Co dělat, když nefunguje plugin v Eclipse?

Včera jsem se hodinu snažil pomoci dj Padákovi s rozběhnutím jednoho pluginu v IDE Eclipse. Ve výsledku se to sice nepodařilo, bohužel, ale o několik obecných rad, které vždy zabraly, bych se rád podělil. Zároveň uvítám vaše postřehy.

Co je dobré vědět, před instalací

Verze aneb vrána k vráně

Základní pravidlo říká, deploynout pouze pluginy, které jsou určeny pro mnou používanou verzi Eclipse. Eclipse ctí verzování x.y.z, kde x představuje major verzi. Rozdíl mezi major verzemi představuje Eclipse API, se kterým jednotlivé pluginy notně spolupracují. Ypsilon představuje minor version, nejsem si přesně jist, ale i u těchto verzí může dojít ke změnám API, ale pravděpodobně pouze ke změnám zpětně kompatibilním (API se rozšíří). Povýšení verze na úrovni písmena z, představuje pouze servisní zásahy bug fix charakteru.

V současnosti je poslední verzí 3.1 M4, M značí milestone. Bývá pravidlem, že během milestone verzí se API neustále mění. Při vývoji Eclipse 3.0 bylo celkem devět milestone verzí a až kolem verze M7 se dalo mluvit o "zmraženém" API. Navíc rozhodně neplatilo, že čím vyšší verze milestone, tím větší kvalita. Jedna z verzí M8 nebo M9 trpěla výraznější pomalostí. V případě, že používáte milestone verzi Eclipse, nikdo vám funkčnost pluginu nezaručí.

Kam instalovat plugin

Plugin můžete nainstalovat dvěma způsoby. První způsob je přes funkci Install/Update (Help >> Software Updates >> Find and Install), ale to připadá v úvahu pouze pro některé typy pluginu. Každopádně pokud tahle možnost existuje, na stránkách příslušného pluginu najdete postup, aplikujte jí. Minimálně si ušetříte čas v dohledávání závislostí resp. dalších součástí, které plugin potřebuje.

Druhý způsob vychází z předpokladu, že jsme si plugin stáhli a nebo jsem jej někde získaly. Některé pluginy bývají distribuovány v adresářové struktuře, kterou stačí nakopírovat do ECLIPSE_HOME (adresář eclipse). Tuto strukturu poznáte tak, že obsahuje adresář plugins případně adresáře plugins a features. Pokud je v distribučním balíčku pouze samotný adresář, patří zkopírovat do ECLIPSE_HOME\plugins. Po každé instalaci pluginu, je dobré udělat restart celého IDE.

Integrace pluginu

Nezřídka se stává, že uživatel ani pořádně neví (nepřečte si), do jaké části Eclipse se plugin integruje. Někdy je plugin prezentován novým view, perspektivou či wizardem. Pokud má plugin nějaké nastavení, hledejte jej ve Window >> Preferences. Tip pro hard core uživatele, pokud pořád nevíte kam se ten zpropadený plugin integroval, prozkoumejte jeho plugin.xml, kde jsou extension pointy, na které je pověšen (Tak úplně vážně jsem tenhle tip nemyslel).

Kde zjistit nefunkčnost pluginu

Po instalaci pluginu a restartu IDE se může jevit všechno v pořádku, ale plugin nefunguje. Nejprve je nutné zjistit, jestli se plugin podařilo bez chyb nainstalovat. To můžeme ověřit několika způsoby.

  • Help >> About >> Plugin Details (požadovaný plugin nesmí chybět)
  • Help >> Software Updates >> Manage Configuration (požadovaný plugin nesmí chybět)
  • Window >> Show view >> other >> PDE >> Plug-ins (požadovaný plugin nesmí chybět)

Pokud plugin v seznamu není nebo hlásí chybu anebo se chová nekorektně, je dobré prohlédnout Error log. Přímo v Eclipse existuje view Error log, to můžete aktivovat přes Window >> Show view >> Other >> PDE Runtime. Pokud Vám Eclipse vůbec nenastartuje, nezbývá než si tento log přečíst ze souboru ECLIPSE_HOME\workspace\.metadata\.log,. Pokud vás error hlášky neposunou vpřed je dobré ihned využít přítele na šest (Google).

Mezi největší zrady paří závislost pluginu. Stalo se mi například u modelovacích nástrojů, že byly závisle na GEF. Pokud nebyl GEF, a to určitá verze, nainstalován, plugin nefungoval (dá se dohledat v logu a určit Googlem). Pokud by měl být plugin funkční pro vaší verzi Eclipse a stejně Vám nefunguje, vyplatí se udělat instalaci takzvaně do čistého prostředí. To znamená, že nainstalujete úplně znovu Eclipse a do něj nainstalujete pouze vámi požadovaný plugin, případně jeho závislostí.