相关推荐recommended
【Spring Boot基础】解决ERROR org.springframework.boot.SpringApplication -- Application run failed报错问题
作者:mmseoamin日期:2024-01-18

一、问题描述

在学习SpringBoot配置profile的时候,.yml文件内容明明跟老师敲的一模一样,但还是报错ERROR org.springframework.boot.SpringApplication -- Application run failed

原.yml文件内容:

---
 server :
   port : 8081
 spring:
    profiles: dev
---
 server :
   port : 8082
 spring:
    profiles: test
---
 server :
   port : 8083
 spring:
    profiles: pro
---
 spring:
    profiles:
       active: pro

报错如下:

【Spring Boot基础】解决ERROR org.springframework.boot.SpringApplication -- Application run failed报错问题,第1张

 二、解决方法

按照“ERROR org.springframework.boot.SpringApplication -- Application run failed”搜索答案,试了好久都没能解决,还是回过头来一句句分析自己的报错情况吧!

发现报错中提示“ Property 'spring.profiles' imported from location 'class path resource [application.yml]' is invalid and should be replaced with 'spring.config.activate.on-profile'...”,感悟到一点意思了,spring.profiles应该被spring.config.activate.on-profile代替。

"spring.profiles"我在yml文件里写过,怀疑是不是要改为spring.config.activate.on-profile的意思。将原句删除后,当输入s时提示框里便出现了“spring.config.activate.on-profile”,果不其然。

【Spring Boot基础】解决ERROR org.springframework.boot.SpringApplication -- Application run failed报错问题,第2张

 得出两点体悟:

1、不要死读书不变通,老师讲的内容照抄照搬过来不一定在自己的环境版本下运行顺利;

2、遇事应沉着冷静,不要胡乱发力,找准痛点,扎扎实实去分析解决。

三、修改之后的.yml文件内容

---
 server :
   port : 8081
 spring:
    config:
       activate:
          on-profile: dev
---
 server :
   port : 8082
 spring:
    config:
       activate:
          on-profile: test
---
 server :
   port : 8083
 spring:
    config:
       activate:
          on-profile: pro
---
 spring:
    profiles:
       active: pro

四、控制台运行结果

【Spring Boot基础】解决ERROR org.springframework.boot.SpringApplication -- Application run failed报错问题,第3张