Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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
javajackson-XML到POJO_Java_Xml_Jackson_Pojo - Fatal编程技术网

javajackson-XML到POJO

javajackson-XML到POJO,java,xml,jackson,pojo,Java,Xml,Jackson,Pojo,我以前曾使用Jackson将JSON转换为POJO,效果很好,现在我尝试使用XML,但遇到了一些困难 我有以下代码: ObjectMapper xmlMapper = new XmlMapper(); GoodreadsResponse response = xmlMapper.readValue("<GoodreadsResponse><Request><authentication>true</authentication></Reque

我以前曾使用Jackson将JSON转换为POJO,效果很好,现在我尝试使用XML,但遇到了一些困难

我有以下代码:

ObjectMapper xmlMapper = new XmlMapper();
GoodreadsResponse response = xmlMapper.readValue("<GoodreadsResponse><Request><authentication>true</authentication></Request><book><id>6465707</id></book></GoodreadsResponse>", GoodreadsResponse.class);
System.out.println(response);
Book.java

public class Book {
    @JacksonXmlProperty(localName = "id")
    private String id;

    public String getId() { return id; }
}
我得到以下错误:

Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/codehaus/stax2/ri/Stax2ReaderAdapter
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:1
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:108)
at com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.<init>(FromXmlParser.java:171)
at com.fasterxml.jackson.dataformat.xml.XmlFactory._createParser(XmlFactory.java:546)
at com.fasterxml.jackson.dataformat.xml.XmlFactory.createParser(XmlFactory.java:418)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2146)
无论我做什么,我都不能让它工作,我不确定我的课程是否正确

有没有人能看一下,看看他们能不能给我指出正确的方向


谢谢

我添加了Strax2API和jackson模块jaxb注释库,现在可以正常工作了:

定义不工作,您的输出是什么?它抛出了一个异常?因此它在类路径上找不到org/codehaus/stax2/ri/Stax2ReaderAdapter类。你是说stax2 api?
Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/codehaus/stax2/ri/Stax2ReaderAdapter
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:1
at com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream.<init>(XmlTokenStream.java:108)
at com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser.<init>(FromXmlParser.java:171)
at com.fasterxml.jackson.dataformat.xml.XmlFactory._createParser(XmlFactory.java:546)
at com.fasterxml.jackson.dataformat.xml.XmlFactory.createParser(XmlFactory.java:418)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2146)