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実行時のありとあらゆるものが格納されているのだが、それがトラブった時の対処例としては以下がある。