java 中未使用 jackson 加载 Yaml 文件值
Yaml file value is not loading using jackson in java
我想加载一个 yaml 文件并将其存储在 Config.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
}
但是 Config.java
中的 application
& system
对象即将到来 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();
}
我不知道这里的根本原因,代码看起来不错。但您可以尝试的一件事是先将内容阅读为 Map
或 JsonNode
,然后查看结构。可能不匹配。
我解决了这个问题。这个错误非常愚蠢。在一个 setter 方法中,我这样写:var1 = var1
而不是 this.var1 = var1
。
我想加载一个 yaml 文件并将其存储在 Config.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
}
但是 Config.java
中的 application
& system
对象即将到来 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();
}
我不知道这里的根本原因,代码看起来不错。但您可以尝试的一件事是先将内容阅读为 Map
或 JsonNode
,然后查看结构。可能不匹配。
我解决了这个问题。这个错误非常愚蠢。在一个 setter 方法中,我这样写:var1 = var1
而不是 this.var1 = var1
。