首页 > 百科知识 正文

进阶篇-SpringBoot2.xMaven多环境配置(springboot项目常用的maven依赖)

时间:2023-11-19 04:20:01 阅读:490 作者:爱到吐

1.本篇前言

在实际开发过程中,可能需要不断进行环境的切换和打包部署,通常我们会选择在 application.yml 中修改不同环境对应的配置文件,这种方式不仅效率低,而且很容易发生错误,造成不必要的麻烦降低工作效率。maven提供了多环境配置,可以方便实现不同环境的配置切换和打包

2. 项目实战2.1 准备配置文件

通常我们在开发过程中分为开发,测试,生产环境,当然在某些公司还有更多比如预发布等环境。我们这里就以开发,测试,生产三个为例。

准备四个配置文件,分别是application.yml、application-dev.yml、application-test.yml、application-prod.yml。

进阶篇-SpringBoot2.xMaven多环境配置(springboot项目常用的maven依赖)-第1张

application.yml作为主配置文件,里面定义了需要激活的环境,如下:

spring: application: name: springboot-multiple-env profiles: active: @profile.active@

application-dev.yml、application-test.yml、application-prod.yml分为对应开发,测试,生产三个环境配置。我们这里以不同环境的server.port端口不同为例,在示例开发中不同环境的数据库等配置都可以如此配置。application-dev.yml

server: port: 8080

application-test.yml

server: port: 8081

application-prod.yml

server: port: 8082

##2.2 POM文件配置maven中提供了profile的支持,每个profile能够定义自己的一些依赖和配置和激活条件,profile配置如下:

<!--定义三种开发环境--> <profiles> <profile> <!--不同环境的唯一id--> <id>dev</id> <activation> <!--默认激活开发环境--> <activeByDefault>true</activeByDefault> </activation> <properties> <profile.active>dev</profile.active> </properties> </profile> <!--测试环境--> <profile> <id>test</id> <properties> <profile.active>test</profile.active> </properties> </profile> <!--生产环境--> <profile> <id>prod</id> <properties> <profile.active>prod</profile.active> </properties> </profile> </profiles> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <delimiters> <delimiter>@</delimiter> </delimiters> <useDefaultDelimiters>false</useDefaultDelimiters> </configuration> </plugin> </plugins> </build>

2.3 测试结果

如果是Idea开发,可以在此进行环境切换

进阶篇-SpringBoot2.xMaven多环境配置(springboot项目常用的maven依赖)-第2张

通过切换环境,我们启动项目可以看到端口已经改变。

进阶篇-SpringBoot2.xMaven多环境配置(springboot项目常用的maven依赖)-第3张

进阶篇-SpringBoot2.xMaven多环境配置(springboot项目常用的maven依赖)-第4张

2.4 多环境maven打包

使用maven命令打包(推荐使用),配合shell脚本可实现自动部署。

mvn clean package -Dmaven.test.skip=true -P dev mvn clean package -Dmaven.test.skip=true -P test mvn clean package -Dmaven.test.skip=true -P prod

版权声明:该问答观点仅代表作者本人。如有侵犯您版权权利请告知 cpumjj@hotmail.com,我们将尽快删除相关内容。