一、问题描述

在学习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

报错如下:

 二、解决方法

按照“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”,果不其然。

 得出两点体悟:

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

四、控制台运行结果

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐