【发布时间】:2022-07-13 21:14:45
【问题描述】:
我正在将一个 Web 应用程序从 Spring Boot 2.2.4 更新到 2.5.6,并使用 Open Rewrite 来处理单调乏味的问题。 IntelliJ 中的运行配置在命令行中有spring-boot:run -Dspring.profiles.active=local -f pom.xml(这一直适用于 2.2.4)。在向 main 添加 try/catch 后,为了真正了解为什么我一直收到退出代码 1 而没有其他信息,我发现 java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.profiles.active' in value "classpath:application-${spring.profiles.active}.properties" 是根本问题。
显然,在命令行上为spring.profiles.active 传递local 现在被忽略了……所以,我将它添加到application.yml,这给了我一条关于使用spring.profiles.active 无效的消息。我发现当前活动的配置文件现在应该在 config.activate.on-profile.active 中,所以我切换到该配置文件,然后在项目范围内搜索 spring.profiles.active 并将 每个 实例替换为 config.activate.on-profile.active。
我一次又一次地运行项目,得到消息说它可以解决占位符spring.profiles.active!根据 IntelliJ,我终生无法弄清楚该占位符的来源,因为它现在不存在于项目中的任何地方,甚至在自述文件中也不存在!
我需要寻找一些秘密的地方来清除这个旧占位符吗?
【问题讨论】:
-
不要!! Today,
2.5.7has been released! xDxD -
谢谢!很确定我仍然会遇到这个问题……
-
yaa... :-( 1. 最佳:找出这个
${spring.profiles.active}未解决的原因和位置。2.config.activate.on-profile.active绝对是“out” 3. Read this ...如果还是没有找到,那我们也得去看看.. -
..2.3、2.4、2.5 发行说明的“从...升级”部分;(
标签: java spring spring-boot