解决spring boot环境切换失效的问题
spring boot环境切换失效
概述
最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,发现日志打印的是:
...ApplicationStartUp - The following profiles are active: de
也就是说,参数失效了。
debug调试时,发现spring-boot读取的也是de,不是te。
解决
下载了一个新的tomcat,然后重新发布程序,设置参数,启动,发现环境正常切换了过来。
springboot多环境配置文件无效
springboot配置文件无效
这个坑必须发出来,真是恶心!不管是yml还是properties格式配置文件都有这问题。
- application.properties
spring.profiles.active=dev
- application-dev.properties
server.port=9000 server.context-path=/h2
这个application-dev.properties的第一行必须是注释或者为空,否则里面配置无法解析。
也就是第一行不能顶格写!
如下两种写法是正确的:
server.port=9000 server.context-path=/h2 # 第一行必须为空或者注释 server.port=9000 server.context-path=/h2
如果不这样,你的application-dev.properties就是废物,一点用都没有,监听端口还是默认的8080,但是第二行及以后的配置可以正常解析到。
因为当启用了多环境配置后,环境配置文件比如application-dev.properties,springboot框架的代码实现逻辑就强行占用了第一行,这个占用一点用处都没有。springboot就是这么霸道,就是要占用第一行,你能怎么样,有本事你也写个springboot,从第18行开始解析配置。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Lombok为啥这么牛逼?SpringBoot和IDEA官方都要支持它
Lombok是一款Java代码功能增强库,在Github上已有9.8k+Star。这篇文章主要介绍了Lombok为啥这么牛逼?SpringBoot和IDEA官方都要支持它,需要的朋友可以参考下2020-12-12MyBatis-Plus工具使用之EntityWrapper解析
这篇文章主要介绍了MyBatis-Plus工具使用之EntityWrapper解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03Java Spring框架创建项目与Bean的存储与读取详解
本篇文章将介绍Spring项目的创建,IDEA国内源的配置以及Bean的存储与读取,所谓的Bean其实就是对象的意思,更详细地说Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象2022-07-07Java操作Elasticsearch rest-high-level-client 的基本使用
这篇文章主要介绍了Java操作Elasticsearch rest-high-level-client 的基本使用,本篇主要讲解一下 rest-high-level-client 去操作 Elasticsearch的方法,结合实例代码给大家详细讲解,需要的朋友可以参考下2022-10-10
最新评论