Maven针对不同环境编译
文章目录
背景
假如某程序运行在不同的环境下,每个环境下的Zookeeper集群的IP不一致,因此要根据环境来编译程序.
Maven Profile
Maven为了针对不同环境进行移植,提出了profile的概念. profile提供在构建的时候修改POM的能力,每个环境对应一个profile,每次编译时,要针对不同的环境激活profile.
Profile的编写
profile所处的位置不同,允许编写的内容有所不同. 这里说的是在POM文件中编写的规则.
<profiles>
<profile>
<id>test</id>
<!--这个下面就是针对profile为test的特有内容-->
...
</profile>
<profile>
<id>online</id>
<!--这个下面就是针对profile为online的特有内容-->
...
</profile>
</profiles>
Profile激活
profiles编写完成后,会有多个profile,会针对不同环境使用不同的profile,那么就需要来激活(指定).
默认激活
通过在pom文件中配置,则可以起到默认启用的作用.可以指定默认激活的profile. 需要注意的是,如果有一个profile显示激活,则默认的所有profile全部失效.
<profiles>
<profile&