在java中未使用jackson加载Yaml文件值

在java中未使用jackson加载Yaml文件值,java,jackson,yaml,pojo,snakeyaml,Java,Jackson,Yaml,Pojo,Snakeyaml,我想加载一个yaml文件并将其存储在Config.java中 这是我的yaml文件:(它大得多。我给出了一个简化版本) 下面是Config.java: public class Config { private Application application; private System system; //Getter setter } Application.java public class Application { private Admin admin;

我想加载一个yaml文件并将其存储在Config.java中

这是我的yaml文件:(它大得多。我给出了一个简化版本)

下面是Config.java:

public class Config {
  private Application application;
  private System system;
  //Getter setter
}
Application.java

public class Application {
    private Admin admin;    
    //Getter Setter
}
Admin.java

public class Admin {
    private String jobInterValTime;
    private String customer;
    //Getter Setter
}
System.java

public class System {

    private Mongo mongo;       
    //Getter Setter
}
Mongo.java

public class Mongo {
    private String host;
    private String port;
    private String dbName;
    private Map<String, String> collections;
    //Getter Setter
}

我不知道根本原因,代码看起来不错。但您可以尝试的一件事是,首先将内容读取为
Map
JsonNode
,然后查看结构的外观。很可能是不匹配。

我解决了这个问题。这个错误很愚蠢。在一个setter方法中,我这样编写:
var1=var1
而不是
this.var1=var1

public class Mongo {
    private String host;
    private String port;
    private String dbName;
    private Map<String, String> collections;
    //Getter Setter
}
Config config = null;
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
try{
    config = objectMapper.readValue(new File("src/test/java/resources/test1.yaml"), Config.class);
    //System.out.println(application.getAdmin().getCustomer());
    // System.out.println(unidataConfig.getApplication().getAdmin().getCustomer());

} catch(Exception e) {
    e.printStackTrace();
}