造成此报错信息的原因是 idea 的 .lock 文件仍就存在,但实际其对应的进程已经不存在,故处理办法就是删除 .lock 文件即可。
.lock 文件在类似于 /.config/JetBrains/IdeaIC2023.2 下,依据为:
/snap/intellij-idea-community/current/bin/idea.sh
其中包含:
CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}"
参考:
现象:
1、此工程之前实际正常 Run/Debug 过,每次修改代码会在 idea 中重新 package 打包;
2、偶然执行 Run/Debug 均报告 active: @profile.name@ 相关的错误信息,重新打包后依然报错;
分析及解决:
1、基于 active: @profile.name@ 及启动日志信息,明确 springboot 启用了 @...@ 动态获取配置的意图;
2、检查 idea 中 maven 插件,确保有选中合适的 profile 选项(有必要到根 pom.xml 中检查对应项);
2.a、若多选 maven 插件中的多个 profile 选项,则会按 pom.xml 中物理可用的最后一个来处理;
2.b、若全部不选、多选但全部没有对应项,则 @profile.name@ 无法被动态转译,进而保留不变;
3、在 maven 插件中选择 compile/package,随后 target/classes/application.yml 中查看结果;
参考:
1、
while scanning for the next tokenfound character ‘@‘ that cannot start any token.2、
聊聊 SpringBoot 中的两种占位符:@*@ 和 ${*}3、
在构建时期自动扩展info属性4、
SpringBoot配置文件5、
Spring Boot中YAML属性配置文件使用详解6、
Spring boot2 使用profile 配置多环境7、
Could not resolve placeholder ‘xxx‘ in value “${xxx}“