我正在将Java应用程序移动到Netbeans平台。其中一个函数使用Xerces库中的SAXBuilder来解析XML。
SAXBuilder声明
SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true);
此行导致JDOM异常(我猜是因为它无法加载指定的解析器):
builder.build(xmlFile);
错误消息是:
无法加载org.apache.xerces.parsers.SAXParser:SAX2驱动程序类 未找到org.apache.xerces.parsers.SAXParser:不会加载类 org.apache.xerces.parsers.SAXParser任意一个 ModuleCL @ 16c14e7 [org.netbeans.libs.xerces]和 ModuleCL @ 17e5fde [czsaw.project]从SystemClassLoader [406开始] 模块];见http://wiki.netbeans.org/DevFaqModuleCCE
我该如何解决这个问题?
答案 0 :(得分:1)
确保您在项目库中加载的库是SAXBuilder的正确包。似乎存在类歧义,并且不确定要加载哪一个。
答案 1 :(得分:0)
查看Netbeans的常见问题解答。
如果有多个模块导致含糊不清,他们会设计类加载器失败。
http://wiki.netbeans.org/DevFaqModuleCCE
与文章建议的一样,将此代码放在应该定义要使用的类的模块中:
Thread.currentThread()setContextClassLoader(的 YourClass 强> .class.getClassLoader());