如何让 kXML 工作?
Posted
技术标签:
【中文标题】如何让 kXML 工作?【英文标题】:How do I get kXML to work? 【发布时间】:2010-01-28 10:32:27 【问题描述】:我正在尝试实现现有的 XML 解析器:kXML。
我遇到了以下错误:
java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException 在 com.sun.midp.midlet.MIDletState.createMIDlet(+29) 在 com.sun.midp.midlet.Scheduler.schedule(+52) 在 com.sun.midp.main.Main.runLocalClass(+28) 在 com.sun.midp.main.Main.main(+80) 执行完成。在this site,您可以找到我遇到的错误。然而,该解决方案不起作用。我使用了以下脚本:
C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlParser C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlSerializer C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParser C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParserException C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlPullParserFactory C:\WTK2.5.2_01\bin\preverify -classpath .;C:\java_libraries\wirelesstoolkit\midpapi20.jar org.xmlpull.v1.XmlSerializer 光盘输出 C:\Program Files\Java\jdk1.6.0_14\bin\jar -cvf ..\kxml2.jar org我收到以下错误(其中多个):
C:\Users\****\Desktop\kxmlfolder>C:\WTK2.5.2_01\bin\preverify -classpath .;C:\ java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlParser 预验证类 org.xmlpull.v1.XmlPullParser 时出错 java/lang/NoClassDefFoundError: java/lang/Object C:\Users\****\Desktop\kxmlfolder>C:\WTK2.5.2_01\bin\preverify -classpath .;C:\ java_libraries\wirelesstoolkit\midpapi20.jar org.kxml2.io.KXmlSerializer 预验证类 org.xmlpull.v1.XmlSerializer 时出错 java/lang/NoClassDefFoundError: java/lang/Object可能是什么原因?
【问题讨论】:
您使用什么 IDE 和操作系统进行开发? Eclipse,无线工具包,Windows Vista 【参考方案1】:您的问题是您设法配置开发环境以针对 kXML 库编译您的 MIDlet,但您没有将它们包含到您的 MIDlet jar 文件中,因此 J2ME 模拟器不知道如何找到您的 MIDlet 导入的类在运行时。
【讨论】:
我应该如何配置这个 MIDlet jar 以包含 kXML 库? 如何配置这个 MIDlet jar 以包含 kXML 库【参考方案2】:也许您应该包含 kXml 库。 如果你使用eclipse MTJ,只需右键单击项目名称,选择属性,在列表中选择Java Build Path,在右键选择库,添加外部jar 按钮,浏览并选择kXml.jar 文件。 您将看到现在包含的新库。 再次尝试运行该项目。
【讨论】:
我已经这样做了。 eclipse 会找到我想要调用的类和方法(自动导入、自动完成等)。只有当我运行它不起作用的东西时.. 1.您是否尝试过重新创建新项目?我想这与构建配置文件有关。也许你可以把它贴在这里,有人会找出问题所在。 2. 你用的是哪个版本的eclipse和MTJ?你有网豆吗?如果您在 Netbeans 中创建此项目,是否会发生同样的错误?【参考方案3】:您需要在buildpath
设置中链接kxml-source
。我花了 3 天的时间才弄清楚这一点。
【讨论】:
【参考方案4】:在 Eclipse 中,只需右键单击项目名称,选择属性,选择 Java Build Path,转到 ORDER & EXPORT 并单击要与项目的 jar 文件一起包含的外部 kXml jar 文件。这应该可以。
【讨论】:
【参考方案5】:我希望我的发现在某种程度上是相关的: 通过 XStream 教程http://x-stream.github.io/tutorial.html 我得到了同样的错误信息。我发现我必须包含 kxml2-[version].jar(在捆绑包中提供)而不是 kxml2-min-[version].jar,如教程中所述。 所以按照 QuickRecipesOnSymbian 的说法,我认为包含正确的 jar 至关重要。
【讨论】:
以上是关于如何让 kXML 工作?的主要内容,如果未能解决你的问题,请参考以下文章
错误:“ORA-01438:值大于此列允许的指定精度”故障因素:“空”详细信息:org.kxml2.kdom.Node@99c0b9c