maven-多环境构建

maven-多环境构建

起男 1,220 2020-11-27

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