SpringBoot项目在不同环境下的配置以及打包方式
一、概述
配置三个配置文件,只需要打包的时候,根据不同环境打包不同的配置文件
application.yml 是启动服务时,Spring会自动加载的配置文件
application-dev.yml 代表的是开发环境时的配置文件
application-test.yml 代表的是生产环境的配置文件
二、配置文件的加载设置
在服务启动时,Spring会自动加载application.yml,所以我们只需在这个配置文件中设置,需要哪个就加载哪个就好了。
在服务启动加载的时候,服务器就会加载application.yml文件,然后通过配置去调用application-dev.yml文件,加载开发环境配置。当active: test,那么服务在启动时,Spring就会调用application-test.yml文件,加载测试环境配置。
三、Maven不同环境的打包
进行动态的调用不同的配置文件,前提条件是拥有多个配置文件
首先来进行配置pom.xml
<profiles> <!--与build标签同级别,放在project标签中--> <!--这是开发环境--> <profile> <id>dev</id> <properties> <!-- 环境标识,需要与配置文件的名称相对应 --> <activatedEnv>dev</activatedEnv> </properties> <activation> <!-- 默认环境 --> <activeByDefault>true</activeByDefault> </activation> </profile> <!--这是测试环境--> <profile> <id>prod</id> <properties> <activatedEnv>prod</activatedEnv> </properties> </profile> </profiles>
然后application.yml 配置动态的使用
spring:
profiles:
active: @activatedEnv@
@activatedEnv@ ,使用的就是我们在pom.xml里设置的<activatedEnv> ,当需要Maven打包时,就会用这个值
打包开发环境(删除原有的包,排除test文件夹的内容,使用开发环境配置打包):
mvn clean package -P dev -Dmaven.test.skip=true
打包测试环境:
mvn clean package -P test -Dmaven.test.skip=true
根据需要两者选其一吧,当然打包语句略有不同。
PS:转===》https://blog.csdn.net/m0_51295655/article/details/121779530
如有帮助希望点个推荐;如果没帮助到或者内容有错误,可以下面留言,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧