Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法为以下标记构造java对象:yaml.org,2002exception=java.lang.InstanceionException:_Java_Snakeyaml - Fatal编程技术网

无法为以下标记构造java对象:yaml.org,2002exception=java.lang.InstanceionException:

无法为以下标记构造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

我试图使用java读取yaml文件内容,但无法构造对象。以下是StudentLast yaml文件:

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