menu
書いてる野郎
orebike@gmail.com
環境が違ったりとか、状況が違ったりとかでmavenの設定値を部分的に書き換えたい場合がある。 そのような場合にプロファイルというものを使うとその設定地を状況に応じて書き換えることができる。
pom.xmlに
<project> ... <profiles> <profile> <id>dev</id> <properties> <maven.hoge.piyo.fuga>aaa</maven.hoge.piyo.fuga> </properties> </profile> <profile> <id>prod</id> <properties> <maven.hoge.piyo.fuga>bbb</maven.hoge.piyo.fuga> </properties> </profile> </profiles> ... </project>
このように記述しmvnコマンド起動時に
$ mvn -P dev package
のように実行したいprofileのidを指定してやるとそっち側の設定が使われる
<project> ... <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.hoge.piyo.fuga>aaa</maven.hoge.piyo.fuga> </properties> </profile> <profile> <id>prod</id> <properties> <maven.hoge.piyo.fuga>bbb</maven.hoge.piyo.fuga> </properties> </profile> </profiles> ... </project>
このようにactiveByDefault
をtrueに設定するとコマンドラインとかでプロファイルを明示的に指定されなかったら、今ならdev側のプロファイルが使われる
当然明示的にprod
側を指定したならばdev側は使われず、prod側が使われる