SpringBoot2.4中profile include后不生效的解决方法

背景提要

使用SpringInitializer创建新项目后,使用原项目中的代码结构对项目进行初始化,其中springProfile包含关系如下:

application.yml
	include: repository,service,web
	active: dev
application-dev.yml
	include: repository-dev,service-dev,web-dev
application-release.yml
	include: repository-release,service-release,web-release

发现启动时报错说找不到数据库配置

Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev,repository,service,web are currently active).

经查发现springBoot2.4对配置文件的加载做了更新
具体更新内容可参考Github WIKI

解决方法

强制spring使用原加载方式加载配置文件

需要在application.yml中增加如下配置

spring:
	config:
		use-legacy-processing: true

WIKI中解释如下:
WIFI解释

使用profile group管理配置文件

spring:
  application:
    name: sc_server_user
  profiles:
    group:
      "dev": "repository-dev,service-dev,web-dev"
      "release": "repository-release,web-release,service-release"
    active: @activeProfiles@
    include: "repository,service,web"

详见上述官方WIKI!

此坑已踩

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值