maven-多环境构建
maven支持让我们配置多套环境,每套环境中可以指定自己的maven属性
mvn命令对模块进行构建的时候可以通过-p
参数来指定具体使用哪个环境的配置
profiles远程支持定义多套环境的配置信息:
<profiles>
<profile>测试环境配置信息</profile>
<profile>开发环境配置信息</profile>
<profile>线上环境配置信息</profile>
<profile>环境n配置信息</profile>
</profiles>
profiles中包含多个profile元素,每个profile可以标识一套环境
<profile>
<!-- 标识这套环境的标识信息,执行mvn时带上 -Pdev -->
<id>dev</id>
<properties>
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
</properties>
</profile>
默认环境配置
<profile>
<id>dev</id>
<activation>
<!-- 标识默认开启这个环境的配置,默认是false -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
</properties>
</profile>
通过maven属性来控制环境的开启
修改profiles元素
<!-- 配置多套环境 -->
<profiles>
<!-- 开发环境使用的配置 -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>env_dev</value>
</property>
</activation>
<properties>
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
</properties>
</profile>
</profiles>
运行命令:
mvn ... -D属性=属性的值
-D可以通过命令指定一些属性的值,-D后面的属性会和activation->properties中的name、value进行匹配,匹配唱歌的环境都会被启动
启动的时候指定多个环境
可以在-P
参数后跟多个环境的id,多个直接用逗号隔开,当使用多套环境的时候,多套环境中的maven属性会进行合并,如果多套画家中属性有一样的,后面的会覆盖前面的
查看目前有哪些环境
命令:
mvn help:all-profiles
查看目前激活的是哪些环境
命令:
mvn help:active-profiles