pom ファイルの全体像

プロジェクトの構造は pom.xml ファイルに記述されており、このファイルはプロジェクトのルート フォルダーに配置する必要があります。プロジェクトファイルの内容は次のようになります。

<project>
        <!—現在のプロジェクトの説明 -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- プロパティ セクション -->
        </properties>

        <リポジトリ>
            <!-- リポジトリ セクション -->
        </repositories>


        <依存関係>
            <!-- 依存関係セクション -->
        </依存関係>

        <ビルド>
            <!-- ビルドセクション -->
        </build>
</project>

pom.xml の説明にはすべてのセクションが存在するわけではありません。そのため、プロパティ セクションリポジトリセクションは使用されないことがよくあります。現在のプロジェクトの説明パラメータは必須です。これから最後のセクションについて話します。

ビルドセクション

ビルド セクションはオプションです。Maven はそれなしでプロジェクトをビルドできます。ただし、多かれ少なかれ複雑なプロジェクトのアセンブリをセットアップしたい場合は、そこですべてがどのように機能するかを理解することが役立ちます。

簡単な例を見てみましょう。

  <build>
        <finalName>プロジェクト名</finalName>
        <sourceDirectory>${basedir}/src/java</sourceDirectory>
        <outputDirectory>${basedir}/targetDir</outputDirectory>
        <resources>
                <resource>
                <ディレクトリ>${ basedir}/src/java/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                </resource>

        </resources>
        <plugins>
                。。。
        </プラグイン>
    </ビルド>

このセクションには、Java ファイルの場所、リソース ファイル、使用されるプラグイン、ビルドされたプロジェクトの配置場所など、ビルドに関する基本情報が含まれています。

主なタグは次の 4 つです。

  • <最終名>
  • <ソースディレクトリ>
  • <出力ディレクトリ>
  • <リソース>

その目的を簡単に分析してみましょう。

<finalName>タグは、パッケージフェーズで作成されるビルド ファイル (jar、war、ear..) の名前を指定します。パラメーターが指定されていない場合は、デフォルト値のartifactId-version が使用されます。

<sourceDirectory>タグを使用すると、ソース ファイルの場所を再定義できます。デフォルトでは、ファイルは${basedir}/src/main/javaディレクトリにありますが、他の場所を指定することもできます。

<outputDirectory>タグは、コンパイラがコンパイル結果 ( *.classファイル)を保存するディレクトリを指定します。デフォルト値はtarget/classes です

<resources>タグとそのネストされた<resource>タグは、リソース ファイルの場所を定義します。リソース ファイルは、ビルド時にOutputDirectoryディレクトリにコピーされるだけです。リソース ディレクトリのデフォルト値はsrc/main/resourcesです。

組立セクションは特に柔軟に構成できます。もう少し詳しく見ていきます。