我在网上浏览了一下,但似乎可以正常工作。我在尝试读取JSON的Web服务中,但是在创建XStream对象时却不断收到错误消息。这是我的代码和错误

 public static InputDTO inputFromJson(HttpServletRequest request) throws IOException {
        logger.debug("in inputfromjson");
        XStream xstreamJson = new XStream(new JettisonMappedXmlDriver()); //this is where the code starts failing
        logger.debug("after xstreamjson create");
        xstreamJson.alias("tz", String.class);
        InputDTO inputDTO = null;
        try (InputStream is = request.getInputStream())
        {
            Object dto = xstreamJson.fromXML(is);
            if (dto instanceof InputDTO) {
                inputDTO = (InputDTO)dto;
            }
        }
        logger.debug(inputDTO);
        return inputDTO;

    }

我得到的错误是
 java.lang.ClassNotFoundException: org.codehaus.jettison.mapped.Configuration
at       org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver.<init>(JettisonMappedXmlDriver.java:48)
at com.homedepot.week3.XMLReader.inputFromJson(XMLReader.java:81)

我已经读过我需要导入org.codehaus.jettison.json。*;但这似乎无法解决任何问题。有人可以帮忙吗?我敢肯定这很简单。

谢谢!

最佳答案

ClassNotFoundException:您要查找的类在您的classPath中不可用

How To resolve Class Not Found Exception

为您的堆栈跟踪它说org.codehaus.jettison.mapped.Configuration找不到。
您缺少lib jettison,如果您正在使用maven,则可以添加

<dependency>
    <groupId>org.codehaus.jettison</groupId>
    <artifactId>jettison</artifactId>
    <version>1.3.5</version>
</dependency>

07-24 21:41