eclipathプラグインの使いどころ
先日紹介した Maven の eclipath プラグインですが、必要性がいまいち見えないという声もあるかもしれません。(まぁ、もともとニッチなニーズなのですが)
通常、Maven と eclipse を連携させる場合、m2eclipse か Q4E あたりがメジャーだと思います。残念ながらQ4Eは試していないのですが、m2eclipseを使えばpom.xmlに記述された依存ライブラリをeclipseのクラスパスコンテナにしてくれるので、eclipseとmavenの連携をうまく実現できるでしょう。
当たり前ですが、この場合eclipseにm2eclipseプラグインを導入するのが大前提になります。開発現場のプロジェクトで各開発者の開発環境を統一できる場合は、もちろん問題ありません。
ただし、以下のようなケースだと問題になります。
オープンソースのサンプルなどをeclipseプロジェクトごと公開する場合
eclipse利用者の開発環境は様々なので、m2eclipseのようなプラグインが導入されているとは限りません。m2eclipse前提のeclipseプロジェクトをサンプルとして公開しても、m2eclipseを導入しない人にとっては、ライブラリ解決エラーの嵐で、それだけでサンプルを見る気がなくなります。
そもそも、mavenは使っていないけどソースコードをちょっと見てみたいという人にとって、m2eclipse前提のプロジェクトは障壁になってしまいます。
プライベートリポジトリを利用している場合
開発プロジェクトでも、独自のライブラリをMavenプライベートリポジトリで管理しているような場合、プライベートリポジトリにアクセスできない環境へeclipseプロジェクトを持って行くと、m2eclipseが依存性を解決できなくなります。
eclipseプラグインを開発する場合
eclipseプラグインを開発していて、依存ライブラリをm2eclipseのクラスパスコンテナで管理していると、eclipse上のランタイム環境ではeclipseクラスローダがm2eclipseのクラスパスコンテナまで見に行ってくれずに正常動作しません。(これは昨年秋くらいに試していたことなので、うろ覚えですが・・・)
-
-
- -
-
総じてeclipseプロジェクトの可搬性を考えると、依存ライブラリはeclipseプロジェクト配下に置いておいた方が問題が少ない、というのが現時点での私の考えです。そのためには、以下の3つをうまく同期してくれるツールが必要なのです。
eclipathプラグインはこのような問題を解決するために作りました。