Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在使用Quarkus中的属性映射读取配置文件_Java_Yaml_Quarkus_Microprofile - Fatal编程技术网

Java 正在使用Quarkus中的属性映射读取配置文件

Java 正在使用Quarkus中的属性映射读取配置文件,java,yaml,quarkus,microprofile,Java,Yaml,Quarkus,Microprofile,Myapplication.yaml具有存储在yaml文件中的值映射 app: myMap: key1: value1 key2: value2 key3: value3 配置类: @Data @ApplicationScoped public class AppConfiguration { @ConfigProperty(name = "app.myMap") private Map<String, String>

My
application.yaml
具有存储在yaml文件中的值映射

app:
  myMap:
    key1: value1
    key2: value2
    key3: value3
配置类:

@Data
@ApplicationScoped
public class AppConfiguration {

    @ConfigProperty(name = "app.myMap")
    private Map<String, String> myMap;
}
@数据
@适用范围
公共类应用程序配置{
@ConfigProperty(name=“app.myMap”)
私人地图myMap;
}
这将导致以下错误:
javax.enterprise.inject.spi.DeploymentException:app.myMap不存在[java.util.Map]类型的配置值


我无法读取这些值,因为该文件不支持
java.util.Map
。我发现这建议了一种解决方法,但对于Quarkus来说是一种新的方法,我不确定如何正确地实现这一点。它也已经一年了,我想知道是否有比邮件列表中建议的更好的实现方式。

是的,现在确实有更好的方式。Quarkus配置由SmallRye配置实现。不幸的是,它不支持映射直接注入,但您可以使用如下所述的映射对象:

以下是一个示例项目:

所有这些都在Quarkus中起作用