Eclipseで手動でプラグインをインストールするときによく目にする、plugins、features、dropinsという3つのフォルダの意味が分からなかったので、それらを私なりに調べて整理したことをメモします。
3つのフォルダの用語の概要を整理する
インストールしたEclipseのフォルダ配下に存在する3つのフォルダの概要を簡単に説明すると以下の通りです。
- plugins
文字通り、Eclipseのプラグインを格納するためのフォルダ。
- features
フィーチャーを格納するためのフォルダ。
- dropins
プラグイン及び、フィーチャーを格納するためのフォルダ。
フィーチャーとは?
最初にフィーチャーを説明しておきます。フィーチャーは、複数のプラグインをまとめるためのもの。Eclipseでは更新サイト経由でプラグインをインストールすることもできるが、その場合にはフィーチャーが必要らしい。
このような特徴であるため、別にフィーチャーが必ず必要なわけではない(プラグインだけでも機能する)。
plugins、features、dropinsフォルダの使い分け
結論としては、手動でプラグインを導入する場合は、とりあえずdropinsフォルダを使用するのが良いらしいです。
元々は、pluginsフォルダにプラグインを置くのが基本だったが、そうなると複数あるプラグインの管理が煩雑になり、訳が分からなくなる。
そのため、プラグイン管理を効率化するために、dropinsフォルダで管理する仕組みができたらしい(色々と記事を見ていくと、バージョン3.4からのよう)。
一応今でもプラグインは、plugins、dropinsどちらに入れても動作するそうだけど、上記で説明した理由などにより後発のdropinsに入れた方がより良いということみたい。
dropinsフォルダへのプラグイン及びフィーチャーの置き方
とりあえず、プラグインやフィーチャーはdropinsフォルダへ置けば良いみたいだけど、その置き方が決まっているみたい。
私の環境(4.5.2)では、以下がとりあえず動いたので紹介しておきます(LimyはJavaのプロパティエディタとして使えるプラグインの名前です)。
- dropins/${AS_YOU_LIKE}/以下に配置
eclipse +--- dropins +--- Limy +--- features +--- plugins
dropinsフォルダ配下にプラグイン毎に任意の名前でフォルダを作成して、その配下にfeatures、pluginsフォルダを格納していく方法。これが一番分かりやすく整理されるので良いと思う。
- dropins/${AS_YOU_LIKE}/eclipse/以下に配置
eclipse +--- dropins +--- Limy +--- eclipse +--- features +--- plugins
過去の記事では、この構造でなければ動かないと記載されているのが多かったけど、私の環境では先に紹介した構造でも動きました。
この構造はeclipseフォルダが冗長だし、eclipseフォルダの名前を一文字でも間違えると、正しくプラグインを認識してくれないようです(例えば、eclipsだとダメでした)。
おわりに
Eclipseのプラグインの格納方法について、もやもやしていたので少しスッキリしました。
因みに、プラグインを格納した後にプラグインが反映されていない場合は、eclipse起動時に「-clean」オプションを付けると良いそうです。
色々と紹介しましたが、基本的にプラグインはEclipse Marketplaceや更新サイトからインストールした方が良さそうです。
使いたいプラグインが上記どちらも対応していないときだけ、手動でインストールする方法を選択する必要があるということですね。
今回はこの辺で失礼いたします。最後までお読みいただきありがとうございました。
参考
Eclipseプラグイン フィーチャーメモ(Hishidama's Eclipse Plugin feature Memo)
プラグイン導入 - オボエガキ用
p2のdropinsフォルダ - kojihashiの日記
PDT2.1のdropinsにSubclipseを入れようとしてはまった件 - kanonji’s diary
plugins - What are the differences between plug-ins, features, and products in Eclipse RCP? - Stack Overflow
Eclipse plugins vs features vs dropins - Stack Overflow
[galileo] Install Plug-ins into Eclipse IDE « mobile && more