IDEA切换分支后,启动Spring Boot报Circular placeholder reference ‘XXXX‘ in property definitions

当切换分支导致无法启动DEBUG项目时,出现'Circular placeholder reference'错误。作者通过排查,发现是本地target目录下同名文件引起,删除相应文件后问题解决。此外,还分享了两种不修改代码的解决方法:执行mvn clean install或使用IDEA的reimport功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰见一个事情,很离奇,记录一下:

产生原因:切换分支导致。

错误描述:无法启动(DEBUG)项目。

报错信息:java.lang.IllegalArgumentException:Circular placeholder reference 'XXXXX' in property definitions

截图:

看了很多出现相同问题的帖子,没有一个解决的让我心满意足的,要么是粘贴别人的,要么就是只告诉你原因的;

看报错原因,是因为property 配置文件中domain_name这个属性占位符被重复引用导致的,其他人都是通过更改属性名称解决的,但是我不想修改,因为是多人开发,部署好的没有问题,那么就说明不是代码的问题,所以我就想找一个不用改代码也能解决的方案。

不过我不确定我们遇见的情况是否一致,所以这个解决方案我自己试过,是挺好用的。

先说一下我的思路吧:

代码我本身是没有动过的,远程机器部署的代码也没有问题,那么一定是我本地的问题,再结合报错中提示的循环占用,我猜测是有个文件名相同且内容也相同的文件。然后我就想到target文件,所以就抱着试一试的心态,把target里面的property 直接删除。

嗯 ,很神奇,项目可以启动了,可以继续Debug改bug了。

至于为什么频繁切换分支会导致这个错误产生,我没有深究。有空再研究;

解决方法:

删除本地项目所在的\target\classes\config目录下的同名文件,立马见效;

补充说明:放心删,但是谨慎提交哈,或者直接IDEA设置忽略target文件的提交。

2024年02月29日17:51:33   更新另外两个不改代码的解决方法:

1、mvn clean install 一次就好了,但是每次都需要 install

2、执行 一次 mvn的 reimport,就是那个刷新按钮

结束语:采用我这个方式解决了问题的兄弟,记得回来给我点赞。 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值