一、问题描述
在学习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”,果不其然。
得出两点体悟:
不要死读书不变通,老师讲的内容照抄照搬过来不一定在自己的环境版本下运行顺利;
遇事应沉着冷静,不要胡乱发力,找准痛点,扎扎实实去分析解决。
三、修改之后的.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
四、控制台运行结果
来源地址:https://blog.csdn.net/qq_42294095/article/details/129828174