在maven

时间:2017-04-26 14:12:35

标签: java spring maven

我正在使用具有以下属性的Spring Boot application.properties文件:

api.base.url=http://${host}:${port}/api
host=localhost
port=9000

当我使用Maven构建我的项目时,api.base.url正在被正确解析,但有时当application.properties更新并运行我的Spring Boot应用程序而不运行Maven之前,我得到以下异常:

  

引起:java.lang.IllegalArgumentException:无法解析值“$ {api.base.url}”中的占位符'api.base.url'       在org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)       在org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)       在org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:236)       在org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)       at org.springframework.context.support.PropertySourcesPlaceholderConfigurer $ 2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:172)       在org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:831)

在我的代码中,我为url注入了一个值:

@Value("${api.base.url}")
private String url;

我是否缺少任何配置以使属性由Spring而不是Maven解决?

0 个答案:

没有答案