一、多环境开发配置
我们平常都是自己的开发环境进行开发,当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用,等测试人员测试通过后,我们会将项目部署到生产环境上线使用。
这个时候就有一个问题,不同环境的配置不相同,不可能让三个环境都用一个数据库所以三个数据库的url配置。
maven提供配置多种环境设定,帮助开发者使用过程中快速切换环境
1、定义多环境
<!--配置多环境--> <profiles> <!--定义具体的环境:开发环境--> <profile> <!--定义环境对应的唯一名称--> <id>env_dep</id> <!--定义环境中专用的属性值--> <properties> <jdbc.url>jdbc:mysql://127.0.0.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 pro_env
二、跳过测试
在执行install指令的时候,maven都会按照顺序从上往下依次执行,每次都会执行test,可以确保每次打包或者安装的时候,程序的正确性,假如测试已经通过在我们没有修改程序的前提下再次执行打包或安装命令,由于顺序执行,测试会被再次执行,有点耗费时间。
应用场景:
功能更新中并没有开发完毕
快速打包
。。。
跳过测试
方式一:IDEA工具实现跳过测试
此方法会把所有的测试都跳过,如果我们想要更精细的控制,需要使用配置插件的方式。
方式二:细粒度控制跳过测试
在父工程中的pom.xml中添加测试插件配置
<build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> <configuration> <skipTests>true</skipTests><!--设置跳过测试--> <include> <include>**/User*Test.java</include> </include> <!--排除掉不参与测试的内容--> <excludes> <exclude>**/BookServiceTest.java</exclude> </excludes> </configuration> </plugin> </plugins> </build>
skipTests:如果为true,则跳过所有测试,如果为false,则不跳过测试
excludes:哪些测试类不参与测试,即排除,针对skipTests为false来设置的
includes:哪些测试类要参与测试,即包含,针对skipTests为false来设置的
方式三:命令行跳过测试
mvn 指令 -D skipTests
范例
mvn install -D skipTests
注意事项
执行的项目构建指令必须包含测试生命周期,否则无效果。例如执行compile生命周期,不经过test生命周期
该命令不借助IDEA,直接使用cmd命令进行跳过测试,需要注意的是cmd要在pom.xml所在的目录下进行执行