gpt4 book ai didi

java - UnknownFieldException - 没有这样的字段

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:02 28 4
gpt4 key购买 nike

当我尝试使用 xstream 将 xml 文件编码到 POJO 时,我不断收到此错误,我不确定发生了什么,可以用新的眼光来看待事物。

Exception in thread "main"      com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field org.smurk.webtest.domain.Attribute.class-title
---- Debugging information ----
field : class-title
class : org.smurk.webtest.domain.Attribute
required-type : org.smurk.webtest.domain.Attribute
converter-type : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path : /classification/attributes/attribute/class-title
line number : 1
class[1] : org.smurk.webtest.domain.Attributes
class[2] : org.smurk.webtest.domain.Classification
version : 1.4.6
-------------------------------
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.handleUnknownField(AbstractReflectionConverter.java:495)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:351)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1157)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1141)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1012)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1003)
at org.smurk.webtest.XmlRead.parseFile(XmlRead.java:31)
at org.smurk.webtest.Main.main(Main.java:15)

这些是相关的域对象:

@XStreamAlias("attribute")
public class Attribute {

@XStreamAlias("class-title")
private ClassTitle classTitle;

@XStreamAlias("type")
private String type;

public ClassTitle getClassTitle() {
return classTitle;
}

public void setClassTitle(ClassTitle classTitle) {
this.classTitle = classTitle;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}
}

@XStreamAlias("class-title")
public class ClassTitle {

@XStreamAlias("title-part")
private TitlePart titlePart;

public TitlePart getTitlePart() {
return titlePart;
}

public void setTitlePart(TitlePart titlePart) {
this.titlePart = titlePart;
}

}

这是 xml:

<classification symbol="A01B1/00" level="7" additional-only="false" status="PUBLISHED">
<attributes>
<attribute type="TITLES">
<class-title>
<title-part>
<text scheme="ipc">Hand tools</text>
<explanation>
<text scheme="ipc"> edge trimmers for lawns <class-ref scheme="cpc">A01G3/06</class-ref> ; </text>
<comment>
<text scheme="cpc"> machines for working soil <class-ref scheme="cpc">A01B35/00</class-ref> ; making hand tools <class-ref scheme="cpc">B21D</class-ref>
</text>
</comment>
</explanation>
</title-part>
</class-title>
</attribute>
</attributes>
</>

最佳答案

只是为了回答这个问题,似乎我在父类中有一些错误的 XStream 注释,这导致了错误在层次结构的更下方。

关于java - UnknownFieldException - 没有这样的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378941/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com