当前位置: 首页 > 知识库问答 >
问题:

java-读取YAML文件-线程“main”中的异常无法在读取器中创建property=envs

蒯卓君
2023-03-14

加载YAML文件(使用SnakeYAML)时,im得到一个异常“线程中的异常”main“不能为javabean=com.java.envs@3d82c5f3创建property=envs在'reader'第1行第1列:envs:1)im做错了什么?-env应该从envs:的同一位置开始?

    public class Envs {
        List<Environment_Generic> envList;

        public List<Environment_Generic> getEnvList() {
            return envList;
        }

        public void setEnvList(List<Environment_Generic> envList) {
            this.envList = envList;
        }
    }

public class Environment_Generic {

    private String env;
    private String firstName;

    public String getEnv() {
        return env;
    }

    public void setEnv(String env) {
        this.env = env;
    }

    private String lastName;
    private int age;
    private List<Contact> contactDetails;
    private Address homeAddress;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public List<Contact> getContactDetails() {
        return contactDetails;
    }

    public void setContactDetails(List<Contact> contactDetails) {
        this.contactDetails = contactDetails;
    }

    public Address getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(Address homeAddress) {
        this.homeAddress = homeAddress;
    }

}
   public static Envs loadYAML(String file) throws IOException{

        Yaml yaml = new Yaml(new Constructor(Envs.class));
        InputStream inputStream = new FileInputStream(new File("src/main/resources/" + file));
        Envs envs = yaml.load(inputStream);
        return envs;
    }
Envs envs=loadYAML("test1.yml");
       System.out.println(envs.getEnvList().get(0).getHomeAddress().getCity());

共有1个答案

太叔岳
2023-03-14

检查有关typesafe集合的文档,文档的根元素是不必要的。删除根Envs参数

当前,对象图是一个名为envs的Environment_Generic列表。但是,您想要的(并尝试映射)只是列表本身。

 类似资料:
  • 请帮帮我,我是一个完全的傻瓜,当涉及到火花和Haddop一般。我的代码如下所示: 我的Spark集群作为一个集群部署在10.1.50.165中,运行RHEL6,当我运行这段简单的代码时,在尝试读取json文件时,我遇到了如下异常:

  • 当我尝试将err.properties文件读入vText时 saxon给了我以下错误。。 第42行是正则表达式="(ix\d\d)\s?=\s?(.)\n?" 我试着保存错误。属性使用utf-8编码,但没有效果。

  • 异常在线程"main"java.lang.ArrayIndexOutOfBoundsExctive:索引0越界的长度; 我无法从用户那里读取构造函数中的值

  • 问题内容: 我是Java和OOP的新手,这是我的问题。当我运行以下代码时,我得到了 线程“主”中的异常java.lang.StackOverflowError。 问题出在我创建对象的代码中。class不会发生问题。如果在run方法内部创建对象,则代码可以正常工作。你能解释一下为什么吗? 问题答案: 您的类的字段包含类的另一个实例,也有自己的字段,包含的另一个实例,依此类推。 换句话说,当您创建该实

  • 我在Mule中定义了以下YAML属性文件。 YAML属性文件 我知道要获得名称,我应该使用“#[p('table.customers.name')]。 我想知道的是,有没有任何方法可以通过传递.name来获取密钥,比如table。键或表。$。我的意思是,如果我通过customerID,我应该得到关键的“客户”。类似地,如果我传递orderDateMin,orderDate Max,它应该返回“or

  • demo.yaml definitions.yaml文件数据 我想读取 yaml 文件及其折射数据。 输出结果={content':{application/json':{'schema':{'title':'YamlTitle','type':'object','properties':{'name':{'type':'string','minLength':10,'example':'GANE