无法使用SnakeYAML加载bean

时间:2015-06-20 15:08:21

标签: java yaml snakeyaml

我收到了这个错误

  

读者',第8行,第1栏:
          时间:
          ^
      java.lang.NoSuchMethodException:com.test.Cfg $ Time。()
       在'读者',第9行,第3栏:
            c:5000
            ^

当我试图加载Cfg bean时:

Yaml yml = new Yaml();
Cfg cfg = yml.loadAs(file, Cfg.class);

这是我的bean类

public class Cfg {   
    private Time time;

    // getters & setters ommited

    public class Time {
        private Long c;
        private Long r;

        // getters & setters ommited
    }
}

我的YML文件

---
time:
  c: 5000
  r: 5000

我使用Java 6.

我该如何解决?

1 个答案:

答案 0 :(得分:1)

  1. Cfg必须是JavaBean(添加setter和getter for time)
  2. 时间必须在Cfg之外,否则它必须有一个指向Cfg的链接 实例(未在YAML文件中配置)
  3. 解析器名为SnakeYAML