2017-01-13 6 views
0

Я хочу загрузить файл yaml & сохранить его в Config.java.Значение файла Ямл не загружается с помощью jackson в java

Вот мой файл YAML: (. Его гораздо больше Даю упрощенная версия)

--- 
application: 
    admin: 
    jobInterValTime: 1440 
    customer: lc 
system: 
    mongo: 
    host: localhost 
    port: 27017 
    dbName: LC_Test 
    collections: 
     groupsCollection: groups 
     membershipCollection: memberships 
     personsCollection: persons 

Вот 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 
} 

Но объект application & system внутри Config.java приходит null.No исключение происходит. Может ли кто-нибудь помочь?

Вот что я написал.

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(); 
} 

ответ

0

Я решил проблему. Ошибка была очень глупой. В одном методе сеттера я написал вот так: var1 = var1 вместо this.var1 = var1.

0

Я не знаю причину здесь, код выглядит хорошо. Но одна вещь, которую вы могли бы попробовать, - сначала прочитать содержимое как Map или JsonNode, и посмотреть, как выглядит структура. Там может быть несоответствие.

Смежные вопросы