Java Xerces lib StreamSource类的NoClassDefFound错误
我在运行时遇到以下错误: NoClassDefFoundError:mf/javax/xml/transform/stream/StreamSource 从这一行代码:Java Xerces lib StreamSource类的NoClassDefFound错误,java,android,buildpath,Java,Android,Buildpath,我在运行时遇到以下错误: NoClassDefFoundError:mf/javax/xml/transform/stream/StreamSource 从这一行代码: Source schemaFile = new StreamSource(XSDreader); 这是代码中第一次出现Xerces类实例 我从谷歌代码下载了Xerces for Android 在Eclipse中将代码作为新的Java项目导入 从Xerces项目导出JAR文件(编译确定) 将Xerces JAR文件添加到我的项
Source schemaFile = new StreamSource(XSDreader);
这是代码中第一次出现Xerces类实例
import
行从javax…
更改为mf.javax…
试图将Xerces/bin添加到类路径(它有.class文件),但没有帮助。
清理了项目,也没有任何帮助。
选中我的项目和Xerces项目使用相同的JDK合规版本(1.7) 调试了代码,到了
VMClassLoader
找不到类的地步,无法深入挖掘
此时,我已经没有想法了。有关简单的解决方案,请参阅@commonware对该问题的评论。该解决方案工作得很好,唯一的问题是调试时,调试器无法跟随代码进入库,并且Eclipse不提供指定源代码位置的选项。
因此,经过一些尝试和错误,我找到了另一个解决方案,也允许调试库代码
我认为这些项目中使用的Android项目和LIB应该使用JDK1.6。使用1.7编译的JAR文件是NoClassDefFoundError的常见原因,因为使用1.7编译的类没有打包到apk文件中。@Lecho我尝试了你的建议,但没有解决问题。“将Xerces JAR文件添加到我的项目构建路径库中”--撤消该文件,然后将JAR放入
libs/
,就像在使用Eclipse进行Android开发时使用任何其他JAR一样。“试图将Xerces/bin添加到类路径”--也撤消该操作。@有效的公共软件。现在我被“www.w3.org/2001/XMLSchema”绊住了,SchemaFinder没有识别出一个有效的模式,但这是另一个单独的问题