Используйте свойства профиля maven в application.conf
В моем файле pom.xml я настроил несколько профилей. Я хотел бы использовать значения текущего профиля в моем файле application.conf. В документации Ninja Framework упоминаются только конфигурации режима, однако я не могу найти ничего, касающегося конфигурации профиля.
Пример: в документации упоминается
database.name=database_production # will be used when no mode is set (or prod)
%prod.database.name=database_prod # will be used when running in prod mode
%dev.database.name=database_dev # will be used when running in dev mode
%test.database.name=database_test # will be used when running in test mode
Как я могу установить разные имена баз данных в зависимости от используемого профиля?
1 ответ
Вы можете добавить все, что хотите заменить как свойство, в определение своего профиля, а затем включить фильтрацию ресурсов maven следующим образом:
<build>
..
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
..
</build>
<profiles>
<profile>
<id>developmentProfile</id>
<properties>
<dbName>database.name=database_dev</dbName>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>productionProfile</id>
<properties>
<dbName>database.name=database_prod</dbName>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
Будьте осторожны, если вы используете spring-boot, вы должны ссылаться на свойства в файле application.properties, например, чтобы он работал:
someOtherProp = something
@dbName@
После этого при сборке приложения необходимо правильно отфильтровать свойство:
mvn clean install -PdevelopmentProfile
Результат:
someOtherProp=something
database.name=database_dev