首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLSerializer抛出异常

XMLSerializer抛出异常
EN

Stack Overflow用户
提问于 2012-06-26 23:15:05
回答 1查看 2.8K关注 0票数 0

我有一小段代码可以将XML解析为JSON。在我引入XMLSerializer来获取JSON之前,它工作得很好。

代码语言:javascript
复制
public static String convertXMLFileToString(String fileName) 
{
  try{ 
    XMLSerializer xmlSer = new XMLSerializer();
    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
    InputStream inputStream = new FileInputStream(new File(fileName)); 
    org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream); 
    StringWriter stw = new StringWriter(); 
    Transformer serializer = TransformerFactory.newInstance().newTransformer(); 
    serializer.transform(new DOMSource(doc), new StreamResult(stw));
    String st = stw.toString();
    JSON json = xmlSer.read(st);
    return stw.toString(); 
  } catch (Exception e) { 
    e.printStackTrace(); 
  } 
    return null; 
  }

呼叫声:

代码语言:javascript
复制
convertXMLFileToString("/home/tom/workspace/xmlToJson/files/input/sample.xml");

我正在使用JSON-lib-2.4和下面的导入import net.sf.json.xml.XMLSerializer;,我得到了以下异常:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at convert.xmlToJson.convertXMLFileToString(xmlToJson.java:27)
at convert.xmlToJson.main(xmlToJson.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 14 more

知道这是怎么回事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-27 17:46:22

JSON-lib依赖于其他库,请参阅http://json-lib.sourceforge.net/

  • 雅加达公共区域-lang 2.5
  • 雅加达公共区域-beanutils 1.8.0
  • 雅加达公共区域-集合3.2.1
  • 雅加达公共区域-日志记录1.1.1

<代码>H110ezmorph 1.0.6<代码>H211<代码>F212

不能说您是否需要所有它们,但是您的异常清楚地表明它缺少commons-lang ( http://commons.apache.org/lang/ )。请确保使用2.x版,而不是较新的3.x版。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11210505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档