繁体   English   中英

Xerces lib StreamSource类的NoClassDefFound错误

[英]NoClassDefFound error for Xerces lib StreamSource class

我在运行时收到以下错误:

java.lang.NoClassDefFoundError:mf / javax / xml / transform / stream / StreamSource

从这行代码:

Source schemaFile = new StreamSource(XSDreader);

这是代码中Xerces类实例的第一次出现。

  1. 我从Google代码下载了Android版Xerces
  2. 将代码作为Eclipse中的新Java项目导入
  3. 从Xerces项目中导出了JAR文件(已编译,可以)
  4. 将Xerces JAR文件添加到我的项目构建路径库中
  5. 在代码中,我将所有import行从javax...更改为mf.javax...

检查了.jar文件,它在预期路径中包含类StreamSource
试图将Xerces / bin添加到类路径(具有.class文件),但这没有帮助。
清理了项目,它也没有帮助。
检查我的项目和Xerces项目是否使用相同的JDK兼容版本(1.7)

调试了代码,到了VMClassLoader找不到类的地步,无法对此进行更深入的研究。

在这一点上,我没有想法。

有关简单的解决方案,请参见@CommonsWare对问题的注释。 该解决方案运行良好,唯一的问题是调试时,调试器无法将代码跟随到库中,并且Eclipse不提供指定源位置的选项。
因此,经过反复试验,我发现了另一个确实可以调试库代码的解决方案。

  1. 打开您的项目构建路径配置

  2. 在“库”下,选择“添加库...”。

    2.1选择类型“用户库”,然后单击下一步。

    2.2单击“用户库...”

    2.3添加一个新库,根据需要命名。 它将被创建为空

    2.4选择“添加JAR文件”并浏览并选择xerces JAR文件。

    2.5单击“源附件”行,并将其指向xerces的src文件夹。

    2.6单击确定,全部返回到“构建路径”对话框。

  3. 转到“订购和出口”标签,并将新库标记为已选中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM