最近、チームメンバーの1人のEclipseプロジェクトで問題が発生しました。 TomcatはアプリケーションのJARをデプロイしていませんでした。
最終的に、.classpath
Eclipseファイルは、プロジェクトに問題がなかったチームメンバーと同じではないことに気付きました。 .classpath
ファイルを問題のないプロジェクトのファイルに置き換え、Tomcatのデプロイが完了しました。
好奇心から、そして何かが間違っている場合に将来何を見るべきかを知るために、.classpath
および.project
ファイルの中にあるもの。そこに追加できるもの、それはどういう意味ですか?
Eclipseはプラグインのランタイム環境です。 Eclipseに表示されるほぼすべてのものは、Eclipse自体ではなく、Eclipseにインストールされたプラグインの結果です。
.project
ファイルは、コアEclipseプラットフォームによって維持され、その目標は、プラグインに依存しない汎用のEclipseビューからプロジェクトを記述することです。プロジェクトの名前は何ですか?ワークスペース内の他のプロジェクトは何を参照していますか?プロジェクトをビルドするために使用されるビルダーは何ですか? (「ビルド」の概念は、特にJavaプロジェクトだけでなく、他のタイプのプロジェクトにも関係します)
.classpath
ファイルは、EclipseのJDT機能によって管理されています(feature =プラグインのセット)。 JDTは、プロジェクト内に複数のこのような「メタ」ファイルを保持します(プロジェクト内の.settings
ディレクトリを参照)。 .classpath
ファイルはそのうちの1つです。具体的には、.classpath
ファイルには、プロジェクトを適切にコンパイルするためにJDT機能が必要とする情報が含まれています。プロジェクトのソースフォルダー(つまり、コンパイルするwhat)。出力フォルダー(コンパイルする場所to);クラスパスエントリ(ワークスペース内の他のプロジェクト、ファイルシステム上の任意のJARファイルなど)。
そのようなファイルをあるマシンから別のマシンに盲目的にコピーするのは危険です。たとえば、任意のJARファイルがクラスパスに配置されている場合(つまり、ワークスペースの外部にあり、絶対パス名で参照されるJARファイル)、.classpath
ファイルは移植不可になり、変更する必要があります。ポータブルである。 .classpath
ファイルの移植性を保証するために従うことができる特定のベストプラクティスがあります。
.project
ワークスペースでプロジェクトが作成されると、プロジェクトを説明するプロジェクト記述ファイルが自動的に生成されます。このファイルの唯一の目的は、プロジェクトを自己記述的にし、サーバーに圧縮またはリリースされたプロジェクトを別のワークスペースで正しく再作成できるようにすることです。
.classpath
クラスパスは、プロジェクト内のどのJavaソースファイルとリソースファイルがJavaビルダーによって考慮されるかを指定し、プロジェクト外で型を見つける方法を指定します。 Javaビルダーは、Javaソースファイルを出力フォルダーにコンパイルし、リソースもそこにコピーします。
これらのファイルはさまざまなプラグインによって拡張可能であるため、これらのファイルの完全なリファレンスは利用できません。
基本的に、.projectファイルは、ビルダーやプロジェクトの性質の設定などのプロジェクト設定を保存し、.classpathファイルは実行中に使用するクラスパスを定義します。クラスパスファイルには、プロジェクト内のフォルダーに対応するsrcおよびターゲットエントリが含まれています。 conエントリは、JVMライブラリやEclipseプラグインの依存関係の場合など、ある種の「仮想」エントリを記述するために使用されます(通常のJavaプロジェクトの依存関係は、特別なsrcエントリを使用して異なって表示されます) 。
このEclipseドキュメントには、.project
ファイル内のマークアップの詳細があります。 プロジェクト記述ファイル
.project
ファイルは次のように説明されています。
ワークスペースでプロジェクトが作成されると、プロジェクトを説明するプロジェクト記述ファイルが自動的に生成されます。このファイルの目的は、プロジェクトを自己記述的にすることです。これにより、圧縮された、またはサーバーにリリースされたプロジェクトを別のワークスペースで正しく再作成できます。このファイルは常に「.project」と呼ばれます