解决Property ‘spring.profiles.active‘ imported from location ‘application-xxx.yml‘ is invalid in…的问题

导读:本篇文章讲解 解决Property ‘spring.profiles.active‘ imported from location ‘application-xxx.yml‘ is invalid in…的问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 问题

今天启动spring boot项目时,突然出现如下图所示问题:

在这里插入图片描述

Property 'spring.profiles.active' imported from location 'class path resource [application-local.yml]' is invalid in a profile specific resource [origin: class path resource [application-local.yml] - 34:13]

2. 分析问题

  1. 首先查看application-local.yml配置文件是否有问题
# 端口号配置
server:
  port: 8081

# spring 配置
spring:
  profiles:
    active: local
  application:
    name: superJsonManager
  session:
    store-type: jdbc
    jdbc:
      initialize-schema: always
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    password: 123456
    username: root
    url: jdbc:mysql://localhost:3306/superjson?useUnicode=true&characterEncoding=utf8&useSSL=false

# mybatis配置
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  check-config-location: true
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.superjson.superjsonmanager.mapper

没有发现application-local.yml文件存在问题

  1. 查看所配置的环境是否存在问题

在这里插入图片描述

没有发现配置环境存在问题。

application-local.yml文件没有问题,配置环境没有问题,那么,哪里出现了问题呢?

只可能是spring boot版本的问题,因为spring boot的2.5版本前后的语法是不一样的。

3. 解决问题

既然知道了是spring boot版本的问题,那么我们就可以进行如下修改。

  1. spring boot版本降低到2.5以下,如下所示:
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.4.3</version>
</parent>

但这不建议这样做,因为降低版本可能会导致以下问题:

  1. 导致程序无法运行,因为先前的代码存在其它版本的依赖。

  2. 可能无法使用高版本的依赖。

  3. 可能无法 引入新的依赖,因为新的依赖可能不支持2.4版本下的spring boot

因而,不建议降低版本。

  1. 建议修改yaml语法,符合高版本的spring boot

我的spring boot依赖版本是2.7.1,如下所示:

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.7.1</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

我的依赖版本大于2.4,需要采用如下方式:

# spring 配置
spring:
#  profiles:
#    active: lcoal
  config:
    activate:
      on-profile:
        - lcoal

如此配置,即可正常启动,如下图所示:

在这里插入图片描述

如果是2.4以前的版本,可以这样配置:

# spring 配置
spring:
   profiles:
     active: lcoal

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99175.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!