gpt4 book ai didi

java - 通过 Maven 在 Spring Boot 中配置 Activity 配置文件

转载 作者:IT老高 更新时间:2023-10-28 13:46:59 25 4
gpt4 key购买 nike

我正在尝试使用 Maven 3 在 Spring Boot 应用程序中设置 Activity 配置文件。
在我的 pom.xml 中,我将 default active profile 和属性 spring.profiles.active 设置为 development:

<profiles>
<profile>
<id>development</id>
<properties>
<spring.profiles.active>development</spring.profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>

但每次我运行我的应用程序时,我都会在日志中收到以下消息:

No active profile set, falling back to default profiles: default

并且 SpringBoot 配置文件设置为默认值(读取 application.properties 而不是 application-development.properties)

我还应该怎么做才能使用 Maven 配置文件设置我的 SpringBoot Activity 配置文件?
任何帮助都非常感谢。

最佳答案

Maven 配置文件和 Spring 配置文件是两个完全不同的东西。您的 pom.xml 定义了 spring.profiles.active 变量,该变量在构建过程中可用,但在运行时不可用。这就是为什么只激活默认配置文件的原因。

如何将 Maven 配置文件与 Spring 绑定(bind)?

您需要将构建变量传递给您的应用程序,以便它在启动时可用。

  1. 在你的 application.properties 中定义一个占位符:

    spring.profiles.active=@spring.profiles.active@

    @spring.profiles.active@ 变量必须与 Maven 配置文件中声明的属性匹配。

  2. 在你的 pom.xml 中启用资源过滤:

    <build>
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
    </resources>

    </build>

    执行构建时,src/main/resources 目录中的所有文件都将由 Maven 处理,并且 application.properties 中的占位符将替换为您在 Maven 配置文件中定义的变量。

更多详情您可以go to my post我在哪里描述了这个用例。

关于java - 通过 Maven 在 Spring Boot 中配置 Activity 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42390860/

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