[加载YAML文件时(使用SnakeYAML),即时消息获取异常“线程“主”中的异常无法为JavaBean创建property=Envs=com.java.Envs@3d82c5f3在“阅读器”的第1行,第1列:信封:1)我做错了什么? -env应该从Envs的相同位置开始:?
Envs:
- env: "QA"
firstName: "John"
lastName: "Doe"
age: 31
contactDetails:
- type: "mobile"
number: 123456789
- type: "landline"
number: 456786868
homeAddress:
line: "Xyz, DEF Street"
city: "City Y"
state: "State Y"
zip: 345657
- env: "Dev"
firstName: "John"
lastName: "Doe"
age: 31
contactDetails:
- type: "mobile"
number: 123456789
- type: "landline"
number: 456786868
homeAddress:
line: "Xyz, DEF Street"
city: "City Y"
state: "State Y"
zip: 345657
我具有以下用于处理此YAML的类。公共类环境{列出envList;
public List<Environment_Generic> getEnvList() {
return envList;
}
public void setEnvList(List<Environment_Generic> envList) {
this.envList = envList;
}
}
公共类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;
}
}使用以下代码,即时获取详细信息。公共静态Envs loadYAML(String file)引发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());
Envs参数。目前,您将拥有一个带有一个参数的对象,该对象将是名为Envs的Environment_Generic的列表。