Eclipse上級:ワークスペース

このシリーズのまとめはEclipse上級にあるので参照されたい

ワークスペースの決定

Eclipseを起動すると、ワークスペースを決めろと言われる。ここでは新たなフォルダでも良いし、既存のワークスペースを指定してもよい。

チェックを入れておくと、次回からはいちいち場所を聞いてくることもなくなる。

ワークスペースを決めないとEclipseは実行できない。また、同じ一つのEclipseを異なるワークスペースで動作させることもできる。どういうことかと言うと、

  • 同じ一つのEclipseインストールのEclipse.exeは何度でも起動できる。
  • しかし、その対象とするワークスペースは別々でなければいけない。

概念としては以下のようなものだ。

ディスクにインストールされた一つのEclipseが二つ起動され、メモリにロードされる。メモリ上の「それぞれのEclipseインスタンス」は異なるディスク上のワークスペースを対象とする。

実際のところ、メモリが許すのであればいくつ起動してもよい。同じバージョンでも異なるバージョンでも。ただし、それらのワークスペースは異なっていなければいけない。

ワークスペースの中身は?

ワークスペースとはEclipseの設定値が格納される場所である。。。というと奇妙に聞こえるかもしれない。

一般には「複数のプロジェクトを格納しておく作業領域」と思われているからだ。しかし、これは全くの間違いだ。

もしこのような解説をしているところがあれば、全く本質が理解できていない。

.metadataフォルダがワークスペースの本質である

ワークスペースとは、Eclipseの設定値が格納される場所であり、その値はワークスペースフォルダ直下の.metadataというフォルダにある。

ワークスペースを作成した直後には、以下の状態になっているはずだ。

+ workspace
+-- .metadata

この.metadataに格納されるものとしては、以下がある。

  • どんなプロジェクトがあるのか
  • プロジェクトの実行環境等がどうであるか
  • 各種プラグインの設定状態がどうなのか
  • プログラムコードをすばやく文字列検索するためのインデックスファイル

等など、Eclipse上で作業する際のありとあらゆるものが格納されている。

つまり、Eclipseのインストールフォルダには、これらは格納されず、ワークスペースの方に格納されている。だから、ワークスペースを変更すると、プラグインの設定状態でさえも変更されてしまう。

ワークスペースはEclipseの設定状態、一時ファイル等々が保存されている場所である。ワークスペースを変更すると、Eclipseの状態はガラッと変わってしまう

ワークスペースの一般的な姿

ワークスペースの一般的な姿は以下だ。

  • ワークスペースには、必ず設定状態フォルダ.metadataが存在する。この位置や名前を変更することはできない。
  • この設定状態から「プロジェクト」として認識されているフォルダが「プロジェクト」である。それ以外のフォルダはワークスペース内にあっても「プロジェクト」ではない。Eclipseにとっては、ただの「フォルダ」である。
  • ワークスペース外のフォルダであっても「プロジェクト」と認識させることができる。

「ワークスペースはプロジェクトを集めたものです」というよくある間違いがなぜ発生するかと言えば、単純にEclipse上でプロジェクトを作成すると、デフォルトでワークスペース直下に作成されるからである。これは単にデフォルトの動作であって、本質とは何の関係も無い。

.metadataに格納されているものの例

.metadataには、Eclipse実行時のありとあらゆるものが格納されているのだが、それがトラブった時の対処例としては以下がある。