【发布时间】:2020-10-26 02:29:16
【问题描述】:
在我的项目中有 2 个资源属性
1.应用程序.properties
server.port=8002
spring.data.mongodb.host=
spring.data.mongodb.port=
spring.data.mongodb.database=
spring.data.mongodb.username=
spring.data.mongodb.password=
2。 application-development.properties
server.port=8002
spring.data.mongodb.host=
spring.data.mongodb.port=
spring.data.mongodb.database=
spring.data.mongodb.username=
spring.data.mongodb.password=
spring.data.solr.host
该类使用开发的值属性
@Configuration
@EnableSolrRepositories(basePackages = {
"id.alfadigital.alfagift.service.product.v1.db.solr.repository",
"id.alfadigital.alfagift.service.product.v2.db.solr.repository"
})
public class SolrConfiguration {
@Value("${spring.data.solr.host}")
private String solrUrl;
@Bean
public SolrClient solrClient() {
return new HttpSolrClient.Builder(solrUrl).build();
}
@Bean
public SolrTemplate solrTemplate(SolrClient client) {
return new SolrTemplate(client);
}
}
我使用 application-development.properties 作为我的项目资源
所以我使用以下命令运行该项目:
mvn spring-boot:run -D spring.profiles.active=development
但运行项目时出现错误
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'solrConfiguration':
Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException:
Could not resolve placeholder 'spring.data.solr.host' in value "${spring.data.solr.host}"
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.data.solr.host' in value "${spring.data.solr.host}"
我很困惑,我的错误在哪里,我该怎么办?
【问题讨论】:
-
您是否检查过您的应用程序是否在开发配置文件下运行。似乎不是。如果您到达 spring 日志的开头,您可以看到活动配置文件。
-
您的开发配置中该属性实际上是否存在值?因为在你分享的属性文件中,没有。
标签: java spring-boot