profileの利用

ローカル環境で実行するときには必要なファイルだけど、リリース用のパッケージには含めたくない、という要件があった場合、Mavenではどうやるかを調べたのでメモ。

<project>
    :
    :
  <profiles>
    <profile>
      <id>release</id>
      <build>
        <resources>
          <resource>
            <directory>src/main/resources</directory>
            <excludes>
              <exclude>**/env*.txt</exclude>
            </excludes>
          </resource>
        </resources>
      </build>
    </profile>
  </profiles>
    :
    :
</project>

pom.xmlにprofiles要素を追加して、リリース用のビルド設定を記述する。上記の例だとreleaseプロファイルの場合は、リソースのenv*.txtをパッケージに含めないようにしている。ビルド設定以外にも色々書けるみたいだけど今回は対象じゃないので割愛。
このプロファイルを有効にしたいときは、

mvn package -P release

これ以外にもWindowsだったらこうする、Unix系だったらどうするとか、色々設定することが出来るみたいだけどこちらも割愛。