maven : profile を使用して環境ごとに設定を変える

resourceのfilter機能を使用して環境ごとにpropertyファイルの値を変更する方法。何回やっても忘れてしまうので記録しておきます。なんででしょうね、たまにしかしないからでしょうか

  • pom.xmlの編集
  <properties>
    <mykey>defaultvalue</mykey>  <!-- プロパティに値を設定する-->
  </properties>


  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>  <!-- filtering trueの設定をしますよ -->
      </resource>
    </resources>
 ...
 </build>

  <profiles><!-- プロファイルを設定する -->
    <profile>
      <id>product</id>
      <properties>
        <mykey>productvalue</mykey>
      </properties>
    </profile>
  </profiles>
  • src/main/resources のプロパティファイル内ではEL式で設定しておく
mykey=${mykey}


すると、、

  • mvn package と実行した場合は mykey=defaultvalue
  • mvn -P product package と実行した場合は mykey=productvalue

と設定されます、と。