作用
- 开发、公布过程中,须要切换多种环境(如数据库链接,端口号等)
- 网上搜寻了,后果搜到很多辣鸡文章,漏了要害信息配不胜利,所以写下亲测可用的过程,防止前面的老铁被耽搁
- 最初终于找到了一篇正确的,不过内容不简练,重新整理取得,大家也能够间接看原文章:
https://blog.csdn.net/xiaocho…
次要步骤
- 在 pom.xml 增加配置
- 在 resources 增加对应环境的配置文件
- 运行指定配置
环境
idea2020
spring-boot 2.3.1RELEASE
JDK 14.0.2
具体步骤
1. 在 pom.xml 中增加配置
增加环境
<profiles>
<profile>
<id>dev</id>
<properties>
<environment>dev</environment> <!-- 环境名,能够任意名字,在资源配置中应用 ${environment} 就能获取值 -->
</properties>
<activation>
<activeByDefault>true</activeByDefault> <!-- 默认环境,当应用 mvn 启动不指定配置时,默认应用这个环境 -->
</activation>
</profile>
<profile>
<id>beta</id>
<properties>
<environment>beta</environment> <!-- beta 环境 -->
</properties>
</profile>
</profiles>
增加资源配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application.properties </include><!-- 原配置文件 -->
<include>application-${environment}.properties</include> <!-- 带环境的配置文件,留神应用 "-" 连贯,否则无奈失效 -->
<include>**/*.xml</include> <!-- 其余资源文件,不填写会导致程序运行时找不到文件 -->
<include>**/*.sql</include> <!-- 其余资源文件,不填写会导致程序运行时找不到文件 -->
</includes>
<filtering>true</filtering> <!-- 过滤,不晓得啥成果,有趣味的能够本人批改测试下 -->
</resource>
</resources>
</build>
此时在 Maven 窗口会看到配置选项
增加配置文件
增加 application-dev.properties
增加 application-beta.properties
两个文件名对应 pom.xml 中的 application-${environment}.properties
环境配置文件是在原配置上叠加笼罩的
# 如 application.properties 中
server.port=8080
# 如 application-dev.properties 中
server.port=8081
spring.datasource.username=dev
# 如 application-beta.properties 中
server.port=8082
spring.datasource.username=beta
后果 dev 环境中:port=8081,username=dev
beta 环境中:port=8082,username=beta
应用配置
启动的命令后加上 -P 配置名称
mvnw clean spring-boot:run # 应用默认配置(此例子中是 dev)mvnw clean spring-boot:run -P beta # 应用 beta 环境
mvnw clean spring-boot:run -P dev # 应用 dev 环境
mvnw clean package # 应用默认配置(此例子中是 dev)mvnw clean package -P beta # 应用 beta 环境
mvnw clean package -P dev # 应用 dev 环境
查看后果
很显著能够察看到,指定不同环境启动时,端口号是对应的配置文件上的