如何强制弹簧只有一个活动轮廓?

时间:2021-07-27 13:40:03

标签: java spring spring-boot spring-2.5

我正在尝试在我的 SpringBoot 应用程序上激活一个配置文件。我曾经覆盖 configureProfiles 方法,因此如果有多个配置文件处于活动状态,则应用程序不会运行。如果没有配置文件处于活动状态,我添加了一个默认配置文件。我想要激活的配置文件必须使用 SPRING_PROFILES_ACTIVE 环境变量定义。

在 SpringBoot 的最新版本 (2.5.x) 中,configureProfiles 为空,并且在调用时,使用 SPRING_PROFILES_ACTIVE 定义的活动配置文件甚至没有加载。

知道我如何才能在 SpringBoot 上拥有一个(不多也不少)的活动配置文件吗?

2 个答案:

答案 0 :(得分:1)

std::function 环境变量将实际设置活动配置文件。

如果您想获得活动配置文件,只需将 SPRING_PROFILES_ACTIVE 添加到您的 Environment 类并引发任何类型的 @SpringBootApplication 或在设置了多个配置文件的情况下关闭应用程序

请参阅下面的简单实现。

Exception

答案 1 :(得分:0)

您是否尝试过设置活动配置文件?

private ConfigurableEnvironment env;
...
env.setActiveProfiles(SPRING_PROFILES_ACTIVE);

有多种方法可以设置您的个人资料。

您可以检查:this Spring profiles tutorial

或者这个post