Maven多环境配置与应用

Maven多环境配置与应用

maven提供配置多种环境的设定,帮助开发者使用过程中快速切换环境。

多环境的定义和使用

  1. 定义多环境

    <!--配置多环境-->
    <profiles>
        <!--开发环境-->
        <profile>
            <id>env_dep</id>
            <properties>
                <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
            </properties>
            <!--设定是否为默认启动环境-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--生产环境-->
        <profile>
            <id>env_pro</id>
            <properties>
                <jdbc.url>jdbc:mysql://127.2.2.2:3306/ssm_db</jdbc.url>
            </properties>
        </profile>
        <!--测试环境-->
        <profile>
            <id>env_test</id>
            <properties>
                <jdbc.url>jdbc:mysql://127.3.3.3:3306/ssm_db</jdbc.url>
            </properties>
        </profile>
    </profiles>
    
  2. 使用多环境(构建过程)

    mvn 指令 -P 环境定义id
    # 范例, 测试环境
    mvn install -P env_test
    

跳过测试

应用场景:

跳过测试的命令

mavn 指令 -D skipTests
# 范例
mvn install -D skipTests

注意事项:执行的项目构建指令必须包含测试生命周期,否则无效果。例如执行compile生命周期,不经过test生命周期。

细粒度控制跳过测试

<plugins>
    <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.2</version>
        <configuration>
            <skipTests>false</skipTests><!--设置跳过测试-->
            <includes><!--包含指定的测试用例-->
                <include>
                    **/User*Test.java
                </include>
            </includes>
            <!--排除掉不参与侧测试的内容-->
            <excludes>
                <exclude>**/BookServiceTest.java</exclude>
            </excludes>
        </configuration>
    </plugin>
</plugins>