如何在 profile.yml 中为 Quarkus 组合项目 yml 配置
How to combine project yml configurations for Quarkus in profile.yml
我们使用 quarkus 作为新项目服务的基础。
考虑到它的配置,可以使用 yml
个文件进行配置。
按照this的方式,添加
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-yaml</artifactId>
</dependency>
yml
配置已应用。为了改进这个配置,我想有机会把一些配置放在不同的文件中并将它们组合在一起,这取决于...
例如,我需要在单独的文件中进行下一个配置:
application-postgre-ds.yml
application-oracle-ds.yml
application-xxx-ds.yml
- ...
application-apigee.yml
我想在我的主要 profile
配置中管理它们,就像其他配置文件导入一样
quarkus:
profiles:
include: postgre-ds, oracle-ds
或者喜欢从类路径导入
quarkus:
import:
config: classpath:application-postgre-ds.yml;application-oracle-ds.yml
但在他们的文档中没有发现任何有用的东西。
希望我错过了正确的说明,希望有人能帮助我进行组合配置。
Quarkus 部分支持:
每个配置文件可以有特定的配置文件:
https://quarkus.io/guides/config-reference#profile-aware-files
但是在 Quarkus 中,您只能激活一个配置文件。例如,如果配置文件 dev
处于活动状态,Quarkus 将从 application-dev.properties
和主文件 application.properties
加载配置。来自 profile-aware 文件的配置具有优先权。
还有父配置文件的概念,您可以使用它在多个配置文件之间共享通用配置:https://quarkus.io/guides/config-reference#parent-profile
如果你真的需要 multi-profile 方法,正如我所说,Quarkus 并不正式支持它,但 SmallRye Config(Quarkus 使用)支持它:https://smallrye.io/smallrye-config/latest/config/profiles/#multiple-profiles。它应该适用于这个用例,但它没有集成到 Quarkus 中,因此围绕配置文件的一些 Quarkus 功能将无法正常工作。例如 @IfBuildProfile
和 @UnlessBuildProfile
注释,但还有更多情况。所以慎用。
我们使用 quarkus 作为新项目服务的基础。
考虑到它的配置,可以使用 yml
个文件进行配置。
按照this的方式,添加
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-yaml</artifactId>
</dependency>
yml
配置已应用。为了改进这个配置,我想有机会把一些配置放在不同的文件中并将它们组合在一起,这取决于...
例如,我需要在单独的文件中进行下一个配置:
application-postgre-ds.yml
application-oracle-ds.yml
application-xxx-ds.yml
- ...
application-apigee.yml
我想在我的主要 profile
配置中管理它们,就像其他配置文件导入一样
quarkus:
profiles:
include: postgre-ds, oracle-ds
或者喜欢从类路径导入
quarkus:
import:
config: classpath:application-postgre-ds.yml;application-oracle-ds.yml
但在他们的文档中没有发现任何有用的东西。
希望我错过了正确的说明,希望有人能帮助我进行组合配置。
Quarkus 部分支持:
每个配置文件可以有特定的配置文件: https://quarkus.io/guides/config-reference#profile-aware-files
但是在 Quarkus 中,您只能激活一个配置文件。例如,如果配置文件 dev
处于活动状态,Quarkus 将从 application-dev.properties
和主文件 application.properties
加载配置。来自 profile-aware 文件的配置具有优先权。
还有父配置文件的概念,您可以使用它在多个配置文件之间共享通用配置:https://quarkus.io/guides/config-reference#parent-profile
如果你真的需要 multi-profile 方法,正如我所说,Quarkus 并不正式支持它,但 SmallRye Config(Quarkus 使用)支持它:https://smallrye.io/smallrye-config/latest/config/profiles/#multiple-profiles。它应该适用于这个用例,但它没有集成到 Quarkus 中,因此围绕配置文件的一些 Quarkus 功能将无法正常工作。例如 @IfBuildProfile
和 @UnlessBuildProfile
注释,但还有更多情况。所以慎用。