无法将自定义 application.yml 配置的子集加载到 Quarkus 中的地图
Posted
技术标签:
【中文标题】无法将自定义 application.yml 配置的子集加载到 Quarkus 中的地图【英文标题】:Trouble loading a subset of custom application.yml configurations to a Map in Quarkus 【发布时间】:2020-06-11 19:32:00 【问题描述】:我正在尝试使用 quarkus yaml 扩展作为我的主要配置来源,并试图找出从 yaml 文件加载地图的最佳方法。
application.yml
:
quarkus:
http:
port: 8080
configuration:
value:
name1: test1
name2: test2
name3: test3
在代码中,我尝试像这样注入配置值:
@ConfigProperty(name = "configuration.value")
Values value;
其中 Values 包含一个自定义 Eclipse Microprofile 转换器。转换器如下所示:
public class ValueConverter implements Converter<Values>
@Override
public Values convert(String value)
// Here there would be the actual code to convert to Map.
return new Values(map);
问题是String value 是空的,即它没有加载下面的stull configuration.value:
name1: test1
name2: test2
name3: test3
我也尝试过用@ConfigProperties(prefix = "configuration.value")
注释一个类并在里面有一个映射,但是它不知道如何按预期将其映射到Map
... 有没有办法创建自定义配置属性转换器?
这是 Eclipse Microprofile 问题吗?这是一个错误吗?这是功能要求吗? :) 或者,还有其他/更好的方法吗?
感谢您的帮助!
【问题讨论】:
【参考方案1】:正如已在邮件列表 here 上回答的那样,Eclipse MicroProfile Config 不支持此功能,因此 Quarkus 也不支持
【讨论】:
以上是关于无法将自定义 application.yml 配置的子集加载到 Quarkus 中的地图的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Spring Boot 应用程序中的自定义 yml 文件加载配置
无法从 Java Spring Boot 项目中的 application.yml 文件中读取用户定义类的列表
微服务之springboot 自定义配置Application.properties文件
IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示