You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus 2.16中如何用环境变量修改@ConfigMapping中的map配置?

可以通过环境变量修改@ConfigMapping中的map配置

完全可以实现,Quarkus的配置系统支持用环境变量覆盖@ConfigMapping定义的map类型属性,遵循和普通属性一致的命名转换规则:

  • 配置映射与application.properties示例
    假设你定义了如下的ConfigMapping接口:

    @ConfigMapping(prefix = "application")
    public interface AppConfig {
        // 定义一个map类型的配置项
        Map<String, String> folderMap();
    }
    

    对应的application.properties中可以配置默认值:

    application.folder-map.doc=default-doc-folder
    application.folder-map.data=default-data-folder
    
  • 用环境变量覆盖或新增map键值对
    把属性名转换为全大写,将所有点(.)和连字符(-)替换为下划线(_),就可以用环境变量来修改:

    • 覆盖现有键:设置APPLICATION_FOLDER_MAP_DOC=/new/doc/path,启动应用后folderMap中doc的值会被替换为/new/doc/path
    • 新增键值对:设置APPLICATION_FOLDER_MAP_LOG=/new/log/path,应用启动后folderMap会新增log=/new/log/path的条目
  • 和你现有用法的结合
    和你平时用application.folder=${FOLDER:folder}的方式类似,也可以在application.properties中给map的键设置环境变量占位符:

    application.folder-map.doc=${FOLDER_DOC:default-doc-folder}
    application.folder-map.data=${FOLDER_DATA:default-data-folder}
    

    这样只需设置FOLDER_DOC或FOLDER_DATA环境变量,就能单独修改对应map项的默认值,无需改动配置文件。

内容的提问来源于stack exchange,提问作者Brian Hesselmann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:23:24