springboot 系列——@Value占位符解析异常
-
异常信息:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder ‘server.port’ in value “${server.port}” -
异常截图:
-
异常分析:
使用 @Value("${server.port}")占位符解析读取主配置文件中的配置项,出现读取不到的场景,原因是读取的主配置文件没有这个配置项。原因有:
a、主配置文件名称写错,正确的主配置文件名 application.yml 或者 application.yaml 或者 application.properties等;
b、指定了其他主配置文件,比如使用 @ActiveProfiles(“test”)注解,指定读取 application-test.yml;
c、主配置文件中没有配置 server.port 这个配置项;
d、主配置文件中使用 spring.profiles 配置同一个微服务的多个实例;
博主的异常属于最后一种,由于使用了spring.profiles配置项,且启动时未指定工程