Профили Maven не активируются, кроме профиля по умолчанию - PullRequest
0 голосов
/ 17 декабря 2018

Я работаю над приложением весенней загрузки.У меня есть два профиля внутри моего POM, но когда я пытаюсь собрать проект с использованием чистой установки -Pdev, он не отражает изменения в application.properties, он будет отражаться только тогда, когда я использую тег 'activeByDefault' в одном из профилей.

<profiles>
<profile>
    <id>dev</id>
    <properties>
        <activatedProperties>dev</activatedProperties>
    </properties>

</profile>
<profile>
    <id>release</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <properties>
        <activatedProperties>release</activatedProperties>
    </properties>
</profile>

</profiles>

Если я запускаю чистую установку -Pdev, я получаю это в своем application.properties.activProperties = @ activProperties @

Если я установлю <activeByDefault>true</activeByDefault>, я получу значение внутри application.properties.activProperties = release.

Разочарование в том, что я не могу использовать другие профили.

1 Ответ

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

Добавьте в ваш application.properties

spring.profiles.active=@activatedProperties@

Если Maven не находит каталог, в котором находится файл application.properties, во время выполнения, вам нужно настроить плагин Maven Resources для фильтрации каталога.

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

Или просто добавьте, какой профиль вы хотите активировать в application.properties

spring.profiles.active=dev

ПРИМЕЧАНИЕ: Профиль Maven и Springпрофиль разные вещи.

...