无法为以下标记构造java对象:yaml.org,2002exception=java.lang.InstanceionException:
我试图使用java读取yaml文件内容,但无法构造对象。以下是StudentLast yaml文件:无法为以下标记构造java对象:yaml.org,2002exception=java.lang.InstanceionException:,java,snakeyaml,Java,Snakeyaml,我试图使用java读取yaml文件内容,但无法构造对象。以下是StudentLast yaml文件: year: 12 name: fewf group: ewf sex: ef 以下是读卡器代码: 公共班级学生领袖{ 公共静态无效主字符串[]args引发FileNotFoundException{ StudentYamlReader c=新的StudentYamlReader; c、 写; } public void write抛出FileNotFoundException{ Yaml Y
year: 12
name: fewf
group: ewf
sex: ef
以下是读卡器代码:
公共班级学生领袖{
公共静态无效主字符串[]args引发FileNotFoundException{
StudentYamlReader c=新的StudentYamlReader;
c、 写;
}
public void write抛出FileNotFoundException{
Yaml Yaml=新的Yamlnew构造函数StudentLast.class;
InputStream InputStream=getClass
.getClassLoader
.getResourceAsStreamStudentLast.yaml;
StudentLast StudentLast=yaml.loadAsinputStream,StudentLast.class;
System.out.printlnstudentLast.getSex;
//System.out.printlnobj;
}
}
这是学生最后一节课:
公立班学生{
公共国际年;
公共字符串名称;
公共性;
公共字符串组;
公立学生去年,字符串名称,字符串性别,字符串组{
今年=年;
this.name=名称;
这个。性=性;
this.group=组;
}
}
但是运行读卡器会引发以下异常:
Exception in thread "main" Can't construct a java object for tag:yaml.org,2002:StudentLast; exception=java.lang.InstantiationException: NoSuchMethodException:StudentLast.<init>()
in 'reader', line 1, column 1:
year: 12
^
at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:314)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:204)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:193)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:159)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:146)
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:524)
at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:518)
at StudentYamlReader.write(StudentYamlReader.java:27)
at StudentYamlReader.main(StudentYamlReader.java:19)
Caused by: org.yaml.snakeyaml.error.YAMLException: java.lang.InstantiationException: NoSuchMethodException:StudentLast.<init>()
at org.yaml.snakeyaml.constructor.BaseConstructor.newInstance(BaseConstructor.java:277)
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:145)
at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:309)
... 8 more
Caused by: java.lang.InstantiationException: NoSuchMethodException:StudentLast.<init>()
at org.yaml.snakeyaml.constructor.BaseConstructor.newInstance(BaseConstructor.java:307)
at org.yaml.snakeyaml.constructor.BaseConstructor.newInstance(BaseConstructor.java:282)
at org.yaml.snakeyaml.constructor.BaseConstructor.newInstance(BaseConstructor.java:275)
... 10 more
Process finished with exit code 1
为什么会出现上述错误?如何修复它?摆脱4参数构造函数。 或或者,添加默认构造函数 这是你的主要问题 还有。。 尝试在YAML文件的顶部添加一行
!!com.rifdar.StudentLast
year: 12
name: fewf
group: ewf
sex: ef