gpt4 book ai didi

java - Spring Boot 找不到特定于配置文件的属性文件

转载 作者:行者123 更新时间:2023-12-02 10:49:07 25 4
gpt4 key购买 nike

我正在关注Spring documentation为我的 SpringBoot 应用程序使用配置文件特定的属性文件。我在 src/main/resources 下有 2 个属性文件:用于本地开发的 datasource.properties 和用于服务器数据源配置的 datasource-prod.properties 。

这是我的 DataSourceConfiguration.java 配置类:

@Configuration
@PropertySource("classpath:datasource-{profile}.properties")
@Slf4j
public class DataSourceConfiguration {

@Value("${flad.datasource.driver}")
private String dataSourceDriverClassName;
@Value("${flad.datasource.url}")
private String dataSourceUrl;
@Value("${flad.datasource.username}")
private String dataSourceUsername;
@Value("${flad.datasource.password}")
private String dataSourcePassword;

@Bean
public DataSource getDataBase(){
log.info("Datasource URL = {}", dataSourceUrl);
return DataSourceBuilder
.create()
.driverClassName(dataSourceDriverClassName)
.url(dataSourceUrl)
.username(dataSourceUsername)
.password(dataSourcePassword)
.build();
}
}

当我启动 SpringBootApplication 主类时,无论是否使用 -Dspring.profiles.active=prod ,我都会收到以下错误:

17:05:49.008 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [fr.payet.flad.core.config.CoreConfig]; nested exception is java.io.FileNotFoundException: class path resource [datasource-{profile}.properties] cannot be opened because it does not exist

最佳答案

我找到的解决方案是重命名我的属性文件datasource-local.propertiesdatasource-prod.properties,以这种方式使用@PropertySource@PropertySource ("classpath:datasource-${profile}.properties") 当我启动 SpringBoot 应用程序时,我使用 -Dprofile=local 作为 VM 选项

关于java - Spring Boot 找不到特定于配置文件的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52316970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com