在 application.conf 中使用 Maven 配置文件属性
Use maven profile properties in application.conf
在我的 pom.xml 文件中,我设置了多个配置文件。我想在我的 application.conf 文件中使用当前配置文件的值。 Ninja Framework 文档仅提及 mode configurations,但我找不到任何有关配置文件配置的信息。
一个例子:文档提到
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
如何根据当前使用的配置文件设置不同的数据库名称?
您可以将任何您想要替换的内容作为 属性 添加到您的配置文件定义中,然后像这样启用 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
在我的 pom.xml 文件中,我设置了多个配置文件。我想在我的 application.conf 文件中使用当前配置文件的值。 Ninja Framework 文档仅提及 mode configurations,但我找不到任何有关配置文件配置的信息。
一个例子:文档提到
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
如何根据当前使用的配置文件设置不同的数据库名称?
您可以将任何您想要替换的内容作为 属性 添加到您的配置文件定义中,然后像这样启用 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