Maven简单入门(四)

多环境配置与应用

Posted by YD Blog on November 13, 2022

Maven简单入门(四)

多环境开发

  • 概念:Maven提供配置多种环境的设定,帮助开发者使用过程中快速切换环境
  • 具体:在父工程的pom文件中配置<profiles>标签,在它的子标签<profile>中定义环境名称<id>和对应的属性<properties>标签,通过构建时的指令来选择环境。

配置如下:

<profiles>
    <!-- env_dep:开发环境,env_pro:生产环境,env_test:测试环境 -->
    <profile>
        <id>env_dep</id>
        <properties>
            <jdbc.url>jdbc:mysql://localhost:3306/learn?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false</jdbc.url>
        </properties>
        <!-- 将此环境设置为默认环境 -->
        <activation>
            <activeByDefult>true</activeByDefult>
        </activation>
    </profile>
</profiles>

指令:mvn install -P {环境id}

跳过测试

  • 应用场景
    • 功能更新中并且没有开发完毕
    • 快速打包

操作方式一:

  • 在idea的maven侧边栏中切换到跳过测试模式
  • 弊端:此模式下所有的测试步骤都无法进行,会直接禁用test脚本

操作方式二

  • 在pom文件中的<build>标签中配置测试脚本为跳过
  • 弊端:此模式下所有的测试步骤都无法进行,会直接禁用test脚本
  <build>
      <plugins>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12.4</version>
          <configuration>
            <skipTests>true</skipTests>
          </configuration>
        </plugin>
      </plugins>
  </build>

操作方式三

同二,但也可以设定为不跳过测试然后排除掉不参与测试的内容,如下:

  <build>
      <plugins>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12.4</version>
          <configuration>
            <skipTests>false</skipTests>
            <excludes>
                <exclude>**/不参与测试的类名.java<exclude>
                <!-- 可以写多个 -->
            </excludes>
          </configuration>
        </plugin>
      </plugins>
  </build>

操作方式四

使用指令,在需要跳过测试的指令后面加-D skipTests即可。