java.lang.IllegalArgumentException: Could not resolve placeholder
看了很多网上的解决方式,你可能没遇到过这种解决办法。
网上很多都是说配置了多个使用了多个PropertyPlaceholderConfigurer或者多个
的原因或者是多个 PropertyPlaceholderConfigurer
与
混合使用。
或者是配置文件路径错了,而我这个解决方式却很奇葩,找遍全网,没找到这样的解决方案 😢
1.报错
报错和大家都是一样的,Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder
配置文件里面的内容没有生效。
我配置了启动参数(yml单独在项目之外,所以使用启动参数来定位yml地址),那就是启动参数不行或者位置不对。
我当时是这样配置的(业务原因,具体内容不太方便展示哈):
也就是说vm options里面没有yml地址,program arguments里面写了yml地址
2.解决方法
将program arguments里面的内容复制到vm options里面去,ok,重新启动!
我的配置
-Dspring.config.location=绝对路径地址 // 注意:这里是到你的application.yml的父文件夹,-Dspring.cloud.bootstrap.name=application-Dspring.profiles.active=dev
3.思考
配置启动参数,网上说的是vm options
program arguments
这两个来配置启动参数都可以的,我的项目只有用vm options才行,不知道为什么,可能spring版本问题?
我用的版本:springboot1.5.16.RELEASE spring4.3.19.RELEASE
最后,解决bug花了我很长时间,呜呜呜~~ 如果能够帮到你,这篇文章的意义就更大了。
来源地址:https://blog.csdn.net/qq_54640079/article/details/127868776
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341