Не работает spring.config.additional-location - PullRequest
0 голосов
/ 11 декабря 2018

maven:

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

application.properties:

spring.profiles.active=@active.spring.profile@
spring.config.additional-location=classpath:/profile/application-${spring.profiles.active}.properties

и после этого я не могу получить значение из src / main / resources / application-local.properties, который содержитtest.prop=123

@Service
public class TestProps {

    @Value("${test.prop}")
    String testProp;

    @PostConstruct
    void run() {
        System.out.println(testProp);
    }
}

Где ошибка?или это ошибка?

1 Ответ

0 голосов
/ 11 декабря 2018

Свойство: spring.config.additional-location должно быть предоставлено в качестве аргумента программы, например: java -jar whatever.jar --spring.config.additional-location=classpath:/profile/application-local.properties.

Не имеет смысла иметь его в application.properties.Из документации :

В качестве альтернативы, когда настраиваемые расположения конфигурации настраиваются с использованием spring.config.additional-location, они используются в дополнение к расположениям по умолчанию. Дополнительные местоположения ищутся до местоположений по умолчанию .

Поскольку дополнительные местоположения ищутся до местоположений по умолчанию, они должны быть предоставлены раньше, поэтому выне может иметь их в application.properties

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...