springboot多环境配置:pom.xml配置多环境

本文探讨了在Maven工程下创建SpringBoot应用时,如何处理pom.xml和.yml配置文件的优先级问题。当两者配置冲突时,pom.xml应具有主导权,但实际运行发现占位符未被解析。通过添加Maven资源插件配置,解决了占位符识别问题,确保了配置生效,并调整了字符集避免乱码。最后,文章引用了Spring官方文档说明配置优先级,帮助读者理解相关机制。
摘要由CSDN通过智能技术生成

在maven工程下创建springboot程序并打包,配置文件的主导权应该属于pom.xml文件。

也就是说,当.yml文件和pom.xml文件同时配置了不同的环境,那么程序打包执行后执行的将会是pom.xml下的配置。

那么既然这样,我们就将配置开发环境的主导权给pom文件,然后.yml文件通过占位符来获取启用环境的id

启动程序,我们发现结果却偏离我们的预计,回到了最原始的8080端口。

这是为什么?

我们把boot程序打包,再打开打包完成的jar包,去查看配置文件

 

 

发现原来是占位符没有被识别。

 我们启用原来解析.properties文件中占位符的方法,尝试无果,不仅没有识别占位符,连打包后的配置文件也消失了。这里留个坑,等以后学到更多知识,了解了再来解答。。

回到pom文件,配置上maven的资源插件,开启识别占位符

 这次我们看到程序运行后端口就是80了

 打开jar包,这里的占位符也解析成功了

 为了避免出现中文乱码,我们也可以加上下面这个配置,配置编码的字符集

 

最后,来到spring的官方文档。这里给我们详细的标明了各类配置信息的优先级,感兴趣的也可以去看看( 注意优先级顺序是从上至下递增的!)

 

 收工!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值