Eclipse上級:プロジェクト

2021年3月26日

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

プロジェクトの作成

プロジェクトの作成については問題無いと思う。他の多くのウェブサイトで解説されている。

Javaプロジェクトの場合、メニューからJava Projectを選択して、適当に作成すればよい。デフォルトでは、プロジェクトフォルダがワークスペース直下に作成される。

Java以外の種類のプロジェクトを作成する場合には、その機能がOther以下にあるかもしれない。これはインストールされているプラグインに依存する。

プロジェクトの「認識」

ワークスペースの本質は「.metadataフォルダにある」と先に記述した。そして、「.metadataにプロジェクトとして記録されているもの」がEclipseにとってのプロジェクトだ。

先のように、Eclipse上でプロジェクトを作成すると、そのフォルダ等が作成されると共に、それがプロジェクトとしてEclipse(そのワークスペースの.metadata内)に登録される。

したがって、ワークスペース直下ではない任意の場所にあるものを「プロジェクト」として認識させることも可能なのだが、これは後述する。

プロジェクト構成ファイルの表示

例えばsampleというJavaプロジェクトを作成した場合に、Package Explorerで表示されるのは以下だ。

しかし、Windowsのエクスプローラ等で見てみると、このとき実際に作成されているのは以下である。

Package Explorerで表示されるものは違いがあるのだ。

パッケージエクスプローラでも表示させるには、このメニューからフィルタリングをOFFにする。

Javaプロジェクトの場合には、次の表示状態になるのだが、これらの.project、 .classpath、.settingsフォルダがプロジェクトの本質をなしている。

これらは、ごく普通のXMLファイルなので、編集することが可能だし、セーブした途端にプロジェクトはその状態になる。ダブルクリックすると、XMLエディタで開いてしまうので、右クリック>Open With>Text Editorで開く。

プロジェクト構成ファイルの無い場合

Eclipseで開発されているプロジェクトでは無い場合には、これらのEclipseプロジェクト構成ファイルが存在しない場合がある。その場合には作成してしまえばよい。

ちなみに、Gradleの「Eclipseプラグイン」には、これらのプロジェクト構成ファイルを自動生成する機能がある。

.projectファイル

ここには、プロジェクトの種類等が記述されている。Javaプロジェクトの場合には、まさにJDT(Java Development Tools)を使用することが記述されている。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>sample</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

.classpathファイル

これはJavaプロジェクトに特有なものだ。プロジェクトのJava BuildPathの内容そのものである。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

.settings/ org.eclipse.jdt.core.prefs

これはXMLファイルではなく、単純なプロパティファイルになっている。JDTについての「お好みの設定」が書き込まれている。

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

まとめ

以上説明したように、Eclipseのプロジェクトには、開発対象のJavaソースの他に「Eclipseのプロジェクトとしての設定状況」を保管するファイルがある。

これらは、XMLあるいはプロパティファイルであり、無い場合には作成してしまえばよい。他プロジェクトを参考にして記述しても良いが、GradleのEclipseプラグインのように自動で生成することも可能だ。

したがって、Eclipse以外で開発されているプロジェクトをEclipseで開発するように設定することも比較的容易だ。