MyEclipse报错:
Warning: Caught exception attempting to use SAX to load a SAX XMLReader
Warning: Exception was: java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
Warning: I will print the stack trace then carry on using the default SAX parser
java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.bjpowernode.drp.util.XmlConfigReader.<init>(XmlConfigReader.java:38)
at com.bjpowernode.drp.util.XmlConfigReader.getInstance(XmlConfigReader.java:58)
at com.bjpowernode.drp.util.DbUtil.getConnection(DbUtil.java:37)
at com.bjpowernode.drp.util.IdGenerator.generate(IdGenerator.java:34)
at com.bjpowernode.drp.util.IdGenerator.main(IdGenerator.java:79)
org.dom4j.DocumentException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found Nested exception: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.bjpowernode.drp.util.XmlConfigReader.<init>(XmlConfigReader.java:38)
at com.bjpowernode.drp.util.XmlConfigReader.getInstance(XmlConfigReader.java:58)
at com.bjpowernode.drp.util.DbUtil.getConnection(DbUtil.java:37)
at com.bjpowernode.drp.util.IdGenerator.generate(IdGenerator.java:34)
at com.bjpowernode.drp.util.IdGenerator.main(IdGenerator.java:79)
Nested exception:
java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.bjpowernode.drp.util.XmlConfigReader.<init>(XmlConfigReader.java:38)
at com.bjpowernode.drp.util.XmlConfigReader.getInstance(XmlConfigReader.java:58)
at com.bjpowernode.drp.util.DbUtil.getConnection(DbUtil.java:37)
at com.bjpowernode.drp.util.IdGenerator.generate(IdGenerator.java:34)
at com.bjpowernode.drp.util.IdGenerator.main(IdGenerator.java:79)
Nested exception: java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at com.bjpowernode.drp.util.XmlConfigReader.<init>(XmlConfigReader.java:38)
at com.bjpowernode.drp.util.XmlConfigReader.getInstance(XmlConfigReader.java:58)
at com.bjpowernode.drp.util.DbUtil.getConnection(DbUtil.java:37)
at com.bjpowernode.drp.util.IdGenerator.generate(IdGenerator.java:34)
at com.bjpowernode.drp.util.IdGenerator.main(IdGenerator.java:79)
Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.bjpowernode.drp.util.DbUtil.getConnection(DbUtil.java:38)
at com.bjpowernode.drp.util.IdGenerator.generate(IdGenerator.java:34)
at com.bjpowernode.drp.util.IdGenerator.main(IdGenerator.java:79)
解决方法:引入xercesImpl.jar
xml-apis.jar
xercesImpl.jar
解析XML文件,映射文件是XML格式,数据库配置文件也可以是XML格式。解析XML的技术可以分为两类那就是SAX和DOM。实现解析XML文件的功能很方便,我们可以通过下载第三方的一些工具包如xml-apis.jar和 xercesImpl.jar等,也可以使用JDK自带的工具类DocumentBuilderFactory、DocumentBuilder、 Document、Element等等。通过这些类我们可以把XML文件的信息读入内存并通过类中的某些方法获取指定节点的名字、值、属性名、属性值这些信息。
java 系统之中使用的是JDom,Xerces解析器解析XML。在1.4之前,属于java的扩展部分,而在1.5之后,已经加入到了JDK之中了。