Spring Boot未加载活动的application.properties文件

时间:2019-11-26 17:04:35

标签: spring-boot

我正在使用Spring Boot根据here

中所述的环境激活配置文件

在大多数情况下都有效。但是,我遇到了一个奇怪的情况。 我有三个application-{profile}.properties文件,如下所示:

application-dev.properties

application-uat.properties

application-release.properties

当我将战争文件部署到uat时,Spring正在从发行文件中获取JDBC连接。 application.properties文件包含一行-

spring.profiles.active = uat

如果我将application-release.properties文件的名称更改为application-release.properties.tmp,那么Spring将从application-uat.properties中拾取连接。 有任何想法吗。 顺便说一句,我正在使用Spring.Boot 2.2.0-RELEASE

1 个答案:

答案 0 :(得分:0)

解决了! 不确定我所做的两个更改中的哪一个可以解决问题,但是就在这里。

  1. 在阅读Daniel Olszewski文章中的评论时,Marcelo Martins说,当使用'spring-boot-starter-parent'时,不必在pom.xml中指定资源过滤,这一点得到了Daniel的进一步确认。当我使用“ spring-boot-starter-parent”时,我将其删除。
    为了解决我的问题,我重新插入了它。
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        ...
    </build>
  1. 我将maven插件升级到了2.2.0.RELEASE
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.2.0.RELEASE</version>
    </plugin>