解决 IllegalArgumentException: Could not resolve placeholder in string value “${XXXXXX}”
原因可能有如下:
一、配置文件中没有对应的key(这种好解决,加上即可)
二、配置文件有对应各个环境的多个文件,application-dev.yml,application-test.yml,application-prod.yml
那么这种情况下,必须在配置文件application.yml配置指定的启动文件
spring:
application:
name: beibuGulfOffcieHall
profiles:
active: test #指定对应的环境配置文件,即application-dev.yml,application-test.yml,application-prod.yml
如果启动日志中显示有如下内容:
The following profiles are active: test
说明启动的配置文件是test,
如果启动日志中显示:
: No active profile set, falling back to default profiles: default
那么就说明没有找到指定的启动文件,所以就会报错
Could not resolve placeholder in string value “${XXXXXX}”
最后
第二种是本人遇到的情况,至于原因是因为在pom文件中有配置部署源文件的限制原因导致:
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
在测试环境的时候需要把这块注释掉即可。
最后的最后
当然肯定是需要先clean 项目 然后再install项目